인프런 커뮤니티 질문&답변

생각하는자님의 프로필 이미지
생각하는자

작성한 질문수

김영한의 실전 자바 - 중급 1편

정적 중첩 클래스의 활용

안쪽에 있는 클래스가 외부에서 사용되는 경우는 어느 경우 인가요?

해결된 질문

작성

·

63

·

수정됨

0

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요. 궁금증이 생겨서 질문을 남깁니다.

섹션7 - 정적 중첩클래스의 활용 - 8분때 중첩클래스의 접근 에서,

흔하지는 않지만 안쪽에 있는 클래스가 외부에서 사용되는 경우가 있다고 말씀하셨습니다.

그래서 어떨때 안쪽 클래스가 외부에서 사용될까?라는 궁금증이 생겼습니다.

일단 두가지를 생각해 보았는데,

  • 헌혈을 할때(피를 다른사람에게 줄대)

  • 차에서 기름을 뺄때(차에 있는 기름을 기름통에 담음)

 

이 두가지 경우가 있기는 한데 코딩이랑은 좀 상관이 없는것 같아서 어떻게 쓸까? 라는 감이 안 잡히네요. 어느 때에 사용하는지 알켜 주실 수 있으신가요?

답변 부탁 드립니다.

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 생각하는자님

기본적으로 설명드린 것 처럼 중첩 클래스는 외부 클래스의 내부에서만 사용하는 것이 좋습니다.

다만 내부 클래스의 역할이 외부 클래스와 매우 밀접하게 연결되어 있는데, 아주 가끔 외부에서 사용하는 것이 필요할 때도 있습니다. 이런 경우는 내부 클래스를 외부에서 사용하도록 허용하는 것도 방법입니다.

자바에서는 대표적으로 Map.Entry가 있습니다.

예를 들어, Map.Entry 인터페이스는 Map 컬렉션의 각 키-값 쌍을 표현하는 중첩 인터페이스입니다. 사용자는 Map.Entry 객체를 통해 Map에 저장된 데이터를 읽거나 조작할 수 있습니다.

감사합니다.

영한님 어느때에 사용하는지 알켜주셔서 감사합니다.

생각하는자님의 프로필 이미지
생각하는자

작성한 질문수

질문하기