Final (1) 썸네일형 리스트형 final, 접근제어자 레거시 코드를 리팩토링을 할 때, final 키워드가 없고 접근제어자가 public 인 메소드를 마주하면, 아래 의문을 계속 확인하면서 작업해야 한다. 이 메소드는 왜 public 이지? 외부에서 사용하는 곳이 있나? 이 메소드를 어디선가 override 해서 사용하고 있나? API 를 만들 때, 이 클래스를 사용할 개발자에게 어디까지 노출할 것인지를 계속 확인해야 한다. public interface A { void a1(); } public class AImpl implements A { @Override public void a1() { a2(); a3(); } public void a2() { .. } private void a3() { .. } } AImpl 의 a1() 메소드는 같은 클래스의 .. 이전 1 다음