오늘은 평소에 사소하게 넘어갈 수 있는 부분인 Java의 접근 제한자에 대해서 얘기해보겠습니다. 제가 이 주제에 대해 블로깅을 하기로 결정한 이유는 '내가 여태까지 사용해온 접근제한자 활용 패턴이 잘못 됐을 수도 있겠다. 더해서 우리 팀의 코드를 봤을 때 정말 접근제한자를 제대로 활용하고 있는지 모르겠다.' 라는 생각이 들었기 때문입니다. 이 글은 Clean Architecture 라는 책의 Simon Brown씨 기고문에 있는 '컴포넌트 기반 패키지' 를 읽고 깨닫고 느낀점을 기반으로 작성했습니다. 우선 접근 제한자는 무엇일까요? 접근 제한자는 OOP 의 특징으로 캡슐화를 지원하기 위한 기능입니다. 예를 들어, 'A 클래스의 메소드를 다른 클래스에서 사용하지 못하게 하고 싶다' 할 때, 자바에서는 pr..