프로그래밍 언어/Kotlin

Nested Class, Inner Class

Stitchhhh 2025. 4. 24. 20:39

Nested Class, Inner Class

Nested Class, Inner Class에 대한 예시를 간단하게 Java에서 어떻게 사용되는지 확인해보겠습니다.

//외부 클래스
public class Outer{
	private int number;
	//정적 중첩 클래스
	public static class NestedClass{
	}
	//내부 클래스
	public class InnerClass{
	}
}

 

먼저 클래스 내부에 클래스를 선언하는 것을 중첩 클래스라고 합니다. Java에서는 static 키워드 유무에 따라 중첩 클래스를 분류할 수 있습니다.

 

static이 붙은 경우에는 정적 중첩 클래스(Static Nested Class)라고 칭하며 특징은 다음과 같습니다.

Outer 클래스의 인스턴스가 없어도 생성이 가능하며, Outer 클래스의 static 변수와 메소드에 접근이 가능합니다.

 

static이 붙지 않은 경우에는 내부 클래스(Inner Class)라고 칭하며 특징은 다음과 같습니다.

Outer 클래스의 인스턴스를 통해서만 생성이 가능하며, Outer 클래스의 모든 변수와 메소드에 접근이 가능합니다.

 

Java에서 지원하는 중첩 클래스에 대한 설명은 여기서 마무리하고, 다음으로 Kotlin에서 어떻게 사용되는지 확인해보겠습니다.

//외부 클래스
class Outer{
	//정적 중첩 클래스
	class NestedClass{
	}
	//내부 클래스
	inner class InnerClass{
	}
}
 

Kotlin에서는 static이 붙지 않은 클래스가 정적 중첩 클래스(Static Nested Class)입니다. 그리고 inner 키워드가 붙은 클래스가 내부 클래스(Inner Class)입니다.

 

해당 특징은 Java와 동일하며 키워드의 차이와, 해당 키워드의 유무의 차이가 반대 인 것을 인지하면 될 것 같습니다.

'프로그래밍 언어 > Kotlin' 카테고리의 다른 글

Build  (2) 2025.04.25
Companion Object  (4) 2025.04.24
Null 처리  (2) 2025.04.23