🎨 Programming/JAVA

[JAVA] 28. 중첩 클래스

ryang x2 2021. 3. 22. 13:16
728x90
반응형

1. 내부 클래스(inner class) 

- 클래스 또는 메서드 안에 또 다른 클래스를 만드는 것을 의미합니다.
- 내부 클래스는 외부 클래스의 모든 멤버들 자신의 멤버처럼 사용합니다.(private 멤버 접근 가능)
- static 내부 클래스를 제외한 내부 클래스는 항상 외부 클래스 객체를 통해서 생성할 수 있습니다.

 

 

예시 )

▼▼▼

 

2. 로컬 클래스(local class) 

- 메소드안에서 정의된 클래스를 의미합니다. (메소드 안에서만 사용할 수 있음)
- 외부클래스의 모든 멤버에 접근 가능합니다.(private 멤버도 접근 가능)
- 지역변수는 접근할 수 없지만 final로 선언된 상수는 접근 가능합니다.

 

 

예시)

▼▼▼

 

 

 

3. static 클래스(static class) 

- 내부 클래스가 static으로 정의되며, 정적 중첩 클래스 또는 static 클래스라고 부릅니다.

 

 

예시)

▼▼▼

 

 

 

 

4. 익명 클래스(anonymous class) 

- 클래스를 정의하지 않고 객체를 정의할 때 사용합니다. 1회용 클래스이므로 재활용이 불가능한 클래스입니다.

 

 

예시 1)

▼▼▼

 

 

예시 2)

▼▼▼

 

 

 

 

 

728x90
반응형