Java

Java / 중첩 클래스, 내부 클래스

Dear-J 2025. 2. 27. 22:04

 

중첩 클래스의 분류

중첩(Nested) : 어떤 다른 것이 내부에 위치하거나 포함되는 구조적인 관계

내부(Inner) : 나의 내부에 있는 나를 구성하는 요소

 

정적 중첩 클래스

>> 바깥 클래스 안에 있지만 바깥 클래스와 관계 없는 전혀 다른 클래스

>> static이 붙음

>> 바깥 클래스의 인스턴스에 소속되지 않음

 

내부 클래스

>> 바깥 클래스의 내부에 있으면서 바깥 클래스를 구성하는 요소

>> static이 붙지 않음

>> 바깥 클래스의 인스턴스에 소속

>> 생성할 때, 바깥 클래스의  인스턴스 참조 필요

 

중첩 클래스는 언제 사용?

>> 특정 클래스가 다른 하나의 클래스 안에서만 사용되거나, 둘이 아주 긴밀하게 연결되어 있는 특별한 경우

>> 외부의 여러 클래스가 특정 중첩 클래스를 사용하면 안됨

 

중첩 클래스 사용 이유?

논리적 그룹화 : 특정 클래스가 다른 하나의 클래스 안에서만 사용되면 안에 포함하는 것이 논리적으로 더 그룹화

캡슐화 : 바깥 클래스의 private 멤버에 접근 가능, 불필요한 public 메서드 제거 가능

 

섀도잉

다른 변수들을 가려서 보이지 않게 하는 것

 

프로그래밍에서 우선순위는 대부분 더 가깝거나 더 구체적인 것

>> 프로그래밍에서 가장 중요한 것은 명확성!!

'Java' 카테고리의 다른 글

Java / 예외 처리 - 이론  (0) 2025.02.28
Java / 지역 클래스, 익명 클래스  (0) 2025.02.27
Java / 열거형 - ENUM  (0) 2025.02.25
Java / 래퍼, Class 클래스  (0) 2025.02.24
Java / String 클래스  (0) 2025.02.24