Kotlin : 중첩 클래스

정종욱·2023년 7월 5일
0

Kotlin

목록 보기
13/16
post-thumbnail


** 출처 : 인프런 자바 개발자를 위한 코틀린 입문

중첩 클래스의 종류

  • 클래스 안에 클래스
  • 클래스 안의 inner 클래스

중첩 클래스와 내부 클래스

중첩 클래스

class House(
	private val address: String,
    private val livingRoom: LivingRoom
) {
	class LivingRoom(
    	private val area: Double
    )
}

중첩 클래스를 쓸 때는 그냥 클래스 만들듯 편하게 작성하면 된다. 기본적으로 코틀린에서는 바깥 클래스에 대한 연결이 없는 클래스가 만들어지기 때문이다.

내부 클래스

class House(
	private val address: String,
    private val livingRoom: LivingRoom
) {
	inner class LivingRoom(
    	private val area: Double
    ) {
    	val address: String
        get() = this@House.address
    }
}

코틀린은 기본적으로 바깥 클래스를 참조하지 않는다.
바깥 클래스를 참조 할 때는 inner 키워드를 추가해야한다.

코틀린 inner class 에서 바깥 클래스를 참조하려면this@House.address 와 같이 this@바깥클래스 를 사용한다.

차이

자바
클래스 안의 static 클래스바깥 클래스 참조 없음. 권장되는 유형
클래스 안의 클래스바깥 클래스 참조 있음

코틀린
클래스 클래스바깥 클래스 참조 없음. 권장되는 유형
클래스 안의 inner 클래스바깥 클래스 참조 있음

0개의 댓글

관련 채용 정보