🎨 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
반응형