YUYANE

Java / 내포클래스 본문

Programming Languages/JAVA

Java / 내포클래스

YUYA 2020. 12. 14. 15:25

내포클래스(Nested 클래스, 중첩클래스)

public class Outer{
 public class Nested{
   ...
 }
 ...
}

 

1) 클래스 안에 있는 클래스

 

2) Java에서는 크게 두 가지 타입

- 비정적 내포 클래스(non-static nested class, 내부클래스)

   - java에서만 존재

- 정적 내포 클래스(static nested class)

   - 종종 여기도 내부클래스라고 부르는 경우가 있지만, 자바에서는 구분하는 것이 좋음

   - static 클래스라는 의미 아님 (자바에는 static 클래스가 없다)

   - 바깥 클래스의 레퍼런스가 없다는 의미

 

3) 용도

 - 서로 연관된 클래스 끼리 그룹 짓기

   패키지로 그룹 짓는 것도 가능하지만 좀 더 긴밀하게 그룹(강한 캡슐화)

 - 내포클래스는 바깥 클래스의 private 멤버에 접근 가능함. (반대는 불가능)

 

4) 접근제어자

 - 내포클래스는 protected와 private도 허용 (내포 클래스 아니면 붙일 수 없음)

 

 

**

요즘에는 생각보다 내포 클래스 잘 사용 x

클래스마다 파일을 만드는 추세

'Programming Languages > JAVA' 카테고리의 다른 글

Java / is-a , has-a  (0) 2020.12.14
Java / 상속  (0) 2020.12.14
접근제어자  (0) 2020.12.10
JAVA / 아스키코드 (백준 11654)  (0) 2020.11.25
JAVA / 각 자릿수의 합을 구하기 (백준 4673번)  (0) 2020.11.23
Comments