[Kotlin in Action] 3. 클래스, 프로퍼티

반응형
728x90
반응형

클래스 선언

  • Kotlin은 기본적으로 public class가 생성된다.
package _기본문법._4_클래스_프로퍼티

// default : public
class `4_클래스`(val name: String)

 

 

프로퍼티

package _기본문법._4_클래스_프로퍼티

class `5_프로퍼티` (
    val name: String,
    var isMarried: Boolean,
)

 

읽기 전용 프로퍼티

  • 비공개 필드
  • 필드를 읽는 단순한 공개 getter 를 만든다.
val name: String,

 

쓸 수 있는 프로퍼티

  • 비공개 필드
  • 필드를 읽는 공개 getter 를 만든다.
  • 필드를 쓰는 공개 setter 를 만든다.
var isMarried: Boolean,

 

getter 메서드를 직접 생성할 수 있다.

package _기본문법._4_클래스_프로퍼티

import java.util.*

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

 

 

프로퍼티 호출 예제

package _기본문법._4_클래스_프로퍼티

import java.util.*

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

fun main(array: Array<String>) {
    // 프로퍼티명을 사용해도 코틀린이 자동으로 게터를 호출해준다.
    println(createRandomRectangle().isSquare)
}

fun createRandomRectangle(): Rectangle {
    val random = Random()
    
    // 코를린은 자바와 다르게 new 연산자를 쓰지 않는다.
    return Rectangle(random.nextInt(), random.nextInt())
}
  • 프로퍼티명을 사용하면 코틀린은 자동으로 getter를 호출해준다.
// 프로퍼티명을 사용해도 코틀린이 자동으로 게터를 호출해준다.
println(createRandomRectangle().isSquare)

 

  • new 연산자를 쓰지 않는다.
// 코를린은 자바와 다르게 new 연산자를 쓰지 않는다.
return Rectangle(random.nextInt(), random.nextInt())

 

 

 

반응형

Designed by JB FACTORY