중첩 클래스를 다루는 방법

parkrootseok·2025년 8월 6일
0

코틀린

목록 보기
11/15
post-thumbnail

중첩 클래스의 종류

Java에서의 중첩 클래스는 아래와 같이 여러 종류로 나뉩니다.

일반적으로 중첩 클래스를 지칭할 땐 static을 사용하는 증첩 클래스와, Inner Class를 지칭하고, 아래와 같은 특징을 가지고 있습니다.

  • static을 사용하는 중첩 클래스
    • 외부 클래스 직접 참조 불가
  • static을 사용하지 않는 중첩 클래스
    • Inner Class : 외부 클래스 직접 참조 가능

이를 Java 코드로 살펴보면 아래와 같습니다.

Inner Class 사용을 지양하자

Effective Java에 따르면 Inner Class에 대하여 아래와 같이 설명하고 있으며, 중첩 클래스를 사용할 경우 static class를 사용하는 방법을 권장합니다.

  • 숨겨진 외부 클래스 정보를 가지고 있어, 참조 해지가 불가한 경우 메모리 누수 발생
  • 직렬화 형태가 명확하게 정의되지 않아 직렬화에 있어 제한됨

Kotlin에서의 중첩 클래스와 내부 클래스

Kotlin에서의 중첩 클래스는 아래와 같이 기본적으로 외부 클래스에 대한 직접 참조를 하지 않습니다.

만약, 외부 클래스에 대한 직접 참조가 필요할 경우 inner 키워드를 활용하여 다음과 같이 작성하면 됩니다.

profile
동료들의 시간과 노력을 더욱 빛내줄 수 있는 개발자가 되고자 노력합니다.

0개의 댓글