27. 중첩, 내부 클래스

2022. 3. 13. 00:52[Android APP] feat. Kotlin/Kotlin 언어 기초

중첩 클래스 : 다른 클래스 안에 생성된 클래스

내부 클래스 : 키워드 inner를 사용한 다른 클래스 안의 클래스

 

 

중첩 클래스(Nested class)

 

1. 다른 클래스 안에 생성되어 자동으로 정적이다.

2. 데이터 멤버와 멤버 함수는 클래스 객체를 생성하지 않고도 접근할 수 있다.

(객체를 만들지 않고, 함수와 멤버를 사용할 수 있는 클래스이다.)

3. 중첩 클래스는 외부 클래스의 데이터 멤버에 접근할 수 없다. (외부 클래스는 중첩 클래스 멤버에 접근할 수 있다)

 

내부 클래스(Inner class)

 

1. 키워드 inner로 다른 클래스 안에 만들어진 클래스이다.

2. inner라고 표시된 중첩 클래스가 내부 클래스이다.

3. 중첩 클래스와의 차이점은 인터페이스 안에 또는 중첩 클래스가 아닌 곳에 선언될 수 없다는 점이다.

4. private이더라도 외부 클래스 멤버에 접근할 수 있다.

5. 내부 클래스는 외부 클래스 객체의 참조를 저장한다.

 

반응형