//클래스의 생성자를 만들 때, constructor keyword 사용 가능.
//constructor 생략 가능, 굳이 constructor를 쓰는 경우는, 특정 Annotation을 같이 쓰는 경우.
class Coffee //constructor
  (
  val name:String = "",
  val price: Int = "0",
  val iced : Booelan = false,
  ) {
  
  val brand: String
  //custom getter get() = "스타벅스" //String 표현식 
 get() {
 return "스타벅스"
 }
  //var로 선언된 프로퍼티는 custom setter도 만들 수 있다.
  var quantity : Int = 0
  set(value) {
  if (value > 0) { //수량이 0 이상인 경우에만 할당
  field = value //field는 식별자. setter getter에 사용하게 되면 quantity 같은 이름이 접근한다.
             }
  }
  
  }
  
class EmptyClass

    
fun main() {
  val coffee = Coffee()
  coffee.name = "아이스 아메리카노"
  coffee.price = 2000
  coffee.quantity = 1 
  coffee.iced = true
    
  if(coffee.iced) { 
    println("아이스 커피")
  }  //아이스커피    
  println("${coffee.brand} ${coffe.name} 가격은 ${coffee.price} 수량은 ${coffee.quantity}")
 //스타벅스 아이스 아메리카노 가격은 2000 수량은 1
}

출처 : FastCampus

'Kotlin' 카테고리의 다른 글

Kotlin 08. 상속  (0) 2023.04.02
Kotlin.07 자바와 코틀린의 차이점  (0) 2023.04.02
Kotlin 05.예외처리  (0) 2023.04.02
Kotlin 04. 널 참조  (0) 2023.04.02
Kotlin 03. 흐름제어  (0) 2023.04.02

+ Recent posts