본문 바로가기

앱, 어플리케이션 만드는 법 - [Kotlin] 속성(Property) 개념

I-ri 발행일 : 2023-05-14
728x90
반응형

#주의#

이 글은 강의 글이 아닙니다.

틀린 부분, 깔끔하지 못한 부분 있을 수 있습니다.

지적해 주시면 저도 공부가 되고, 앞으로 이 글을 보실 분들에게도 도움이 될 거라 생각합니다.


속성(Property)란?

Kotlin에서 Property는 객체의 상태를 나타내는 변수 또는 값을 의미합니다. Property는 클래스 내부에 선언되며, 객체의 상태를 나타내는 데이터를 저장하거나 가져오는 역할을 합니다. Kotlin에서는 속성을 정의할 val 또는 var 키워드를 사용합니다. val 키워드는 읽기 전용 속성을, var 키워드는 쓰기 가능한 속성을 정의합니다. Kotlin에서 Property는 다음과 같은 기능을 제공합니다.

728x90
Property 선언

Kotlin에서 Property를 선언하는 방법은 다음과 같습니다.

var propertyName: PropertyType = propertyValue
    get() = field
    set(value) {
        field = value
    }

위와 같이 var 키워드를 사용하여 Property 이름을 선언하고, 타입과 초기값을 지정합니다. Property의 값을 가져오는 get() 함수와 값을 설정하는 set() 함수를 작성합니다.

반응형
Getter 함수

Kotlin에서 Property의 값을 가져오는 Getter 함수는 다음과 같이 작성합니다.

val propertyName: PropertyType
    get() = field

위와 같이 val 키워드를 사용하여 Property 이름을 선언하고, get() 함수를 작성합니다. get() 함수 내부에서는 field 변수를 사용하여 Property의 값을 반환합니다.

 

Setter 함수

Kotlin에서 Property의 값을 설정하는 Setter 함수는 다음과 같이 작성합니다.

var propertyName: PropertyType
    set(value) {
        field = value
    }

위와 같이 var 키워드를 사용하여 Property 이름을 선언하고, set() 함수를 작성합니다. set() 함수 내부에서는 field 변수를 사용하여 Property의 값을 설정합니다.

 

초기값

Kotlin에서 Property의 초기값은 다음과 같이 지정합니다.

var propertyName: PropertyType = propertyValue

위와 같이 Property 이름 뒤에 등호(=)와 초기값을 작성하여 Property의 초기값을 지정할 수 있습니다.

 

Lateinit

Kotlin에서 Lateinit은 Property의 초기값을 나중에 지정할 수 있는 기능입니다.

lateinit var propertyName: PropertyType

위와 같이 lateinit 키워드를 사용하여 Property 이름을 선언하면, 초기값을 나중에 지정할 수 있습니다.

 

Nullable

Kotlin에서 Nullable은 Property의 값이 null일 수 있는 기능입니다.

var propertyName: PropertyType? = null

위와 같이 Property 이름 뒤에 물음표(?)를 작성하여 Property의 값이 null일 수 있음을 나타낼 수 있습니다.

 

접근 제한자

Kotlin에서 Property는 접근 제한자를 지원합니다. 접근 제한자는 Property의 접근 범위를 제한하는 역할을 합니다.

private var propertyName: PropertyType = propertyValue

위와 같이 private 키워드를 사용하여 Property의 접근 범위를 클래스 내부로 제한할 수 있습니다. 이렇게 Kotlin에서는 다양한 기능을 제공하여 Property를 유연하게 활용할 수 있습니다.

728x90
반응형

댓글