묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
외부 클래스에서 내부 클래스의 private 필드 접근
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.영한님께서 내부 클래스에서 외부 클래스의 private 필드에 접근할 수 있다고 말씀해주셨는데.외부 클래스의 메소드의 경우도, 중첩 클래스의 private 필드나 private 생성자에 접근할 수 있나요?
-
미해결김영한의 실전 자바 - 중급 1편
내부클래스는 중첩클래스에 속하는것 아닌가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용][섹션 7-4 내부클래스] 에서 마지막 정리 부분에서 설명해 주신 "중첩이라는 단어와 내부라는 단어의 의미의 차이" 에서 중첩 을 어떤 다른 것이 내부에 위치하거나 포함되는 구조적 관계, 나의 안에 있지만 내것이 아닌 것을 말한다.중첩(Nested)은 나의 안에 있지만 내것이 아닌것을 말한다. 단순히 위치만 안에 있는 것이다. 반면에 여기서 의미하는 내부(Inner)는 나의 내부에서 나를 구성하는 요소를 말한다.라고 말씀하셨는데 이부분이 좀 햇갈려서요! 앞서 [섹션 7-1 중첩 클래스, 내부 클래스란?] 강의 파트 에서 가장 처음 설명해 주셨을 때 중첩클래스는 4가지 종류가 있으며 그 안에는 내부 클래스도 포함되어있다 라고 말씀하셨는데해당 파트의 강의 중간에 중첩과 내부라는 단어에 차이가 있다고 하셔서요.그렇다면 사실 "내것이 아닌것" 이라는 의미는 단순한 중첩인 순수 nested가 아니라 정적 중첩 즉, static nested에 해당하는것 아닌가요!?제가 잘못 이해하고 있다면... 처음에 중첩 안에 4가지 종류중 내부 클래스는 제외되어야 하는거 아닌가? 생각이 들었습니다. 중첩 클래스는 클래스를 정의하는 위치에 따라 여러가지 분류가 있다. 총 4가지가 있으며, 크게 2가지로 분류된다. - 중첩 클래스 분류 1. Static 정적 중첩 클래스 2. Non-Static 내부 클래스 1. inner 내부 클래스 2. local 지역 클래스 3. annonymous 익명 클래스 중첩 클래스를 정의하는 위치는 변수의 선언 위치와 같다.이렇게 교안으로도 함께 설명해주셨던 정의가 틀린것이 아닌가 해서요..죄송하지만 계속 햇갈려서 정확히 해 둬야 할거 같아요! 명쾌한 답변부탁드립니다 ^^(바쁘시더라도 강의를 직접 찍으신 영한형님께서 직접 답변 부탁드려요.. AI는 가끔제 질문의 요지를 잘 못알아먹고 오해를 불러일으키니..)