Java 접근제어자 완벽 정리 – public·protected·default·private 차이와 실무 설계 원칙
Java 접근제어자를 제대로 이해하지 못하면, 모든 필드와 메서드를 public으로 선언해 객체 내부 상태가 외부에서 무분별하게 바뀌거나, protected를 써야 할 자리에 public을 쓰다가 패키지 밖의 클래스가 내부 구현에 직접 의존하게 되어 리팩토링이 불가능해지는 상황을 겪게 됩니다. “어차피 같은 프로젝트 코드인데 다 public으로 해도 되지 않나요?”라는 생각은 객체지향의 핵심 원칙인 캡슐화(Encapsulation)를 포기하는 것과 같습니다. 접근제어자는 단순히 “누가 […]