Skip to content

Latest commit

 

History

History
55 lines (40 loc) · 1.11 KB

필드와 접근자 메서드.md

File metadata and controls

55 lines (40 loc) · 1.11 KB

주 생성자를 만들면 클래스의 필드가 알아서 생성된다.

class User(var username: String)

정말 간단하다!

접근자 메서드인 gettersetter는 코틀린이 알아서 만들어준다.

class User(
    var name: String
    val age: Int
)

읽기 전용 필드를 만들 수도 있다.
var 대신 val을 앞에 붙여 선언하면, getter 함수만 생성된다.

val은 수정할 수 없는 필드기 때문에, final과 비슷하다.

필드에 접근할 때는 그냥 변수에 접근하듯이 사용하면, 코틀린에서 내부적으로 접근자 메서드를 사용하는 것 처럼 작동한다.

class User(
    var name: String
    val age: Int
)

fun main(args: Array<String>) {

    val user = User("user", 17)
    user.username = "useruser"

    println("username : ${user.name}")
    println("age : ${user.age}")

}

getter/setter를 원하는 대로 정의할 수도 있다.

class Rectangle(
    val height: int, 
    val width: int
) {
    val isSquare: Boolean
        get() {
            return height == width
        }
}