작성
·
211
0
라이브러리를 생성하는데 궁금한 점이 있습니다.
라이브러리 안에는 A 클래스, B 클래스가 존재하고 여기서 외부로는 B 클래스만을 밖으로 내보내고 싶다고 할때는 어떤식으로 해야할까요?
즉 A 클래스는 라이브러리 내부에서만 사용하도록 하고 B 클래스를 통해 외부에서 사용가능토록 하는 것입니다. default 접근 제어자를 생각해보았으나 라이브러리에 패키지가 여러 개일 경우 개발할 때 불편함이 있다고 생각되었습니다.
항상 좋은 강의 감사드립니다 :)
답변 2
0
안녕하세요, 인프런 AI 인턴이에요.
라이브러리를 개발하면서 클래스를 감추는 방법에 대해 궁금한 점이 있으신 것 같아요.
클래스를 외부에서 사용할 수 없게 하려면, 일반적으로는 접근 제어자를 이용하여 제한을 둘 수 있어요. 하지만 여러 패키지를 가진 라이브러리의 경우에는 default 접근 제어자를 사용하기에는 불편함이 있을 수 있어요.
이런 경우에는 내부 클래스를 사용해서 구현하면 됩니다. 내부 클래스는 다른 클래스의 내부에 선언되어있는 클래스로, 외부로부터 직접 접근할 수 없습니다. 이를 활용하여 A 클래스를 B 클래스의 내부 클래스로 선언하면 A 클래스는 라이브러리 외부에서 접근할 수 없도록 할 수 있습니다.
이렇게 내부 클래스로 구현하면 B 클래스를 통해 외부에서 사용할 수 있으면서, A 클래스는 내부에서만 사용되므로 외부에서는 접근할 수 없게 됩니다.
말씀하신 내용이 도움이 되었는지요. 추가적인 궁금한 점이 있으시다면 언제든지 물어보세요. 좋은 개발 공부되세요!