728x90
반응형
- 생성자는 객체를 초기화하는 특별한 멤버 함수와 비슷하다.
- 코틀린에서는 객체를 생성할 때 new 키워드가 필요없다.
class Wombat
fun main() {
val wombat = Wombat()
}
- 생성자에게 정보를 전달할 때는 파라미터 목록을 사용한다.
class Alien(name: String) {
val greeting = "Poor $name!"
}
fun main() {
val alien = Alien("Jiyeong")
println(alien.greeting)
}
//출력
Poor Jiyeong!
- 생성자 밖에서는 파라미터에 접근할 수 없다. (alien.name 안된단 뜻)
- 생성자 밖에서도 생성자 파라미터에 접근하도록 하고 싶다면, 파라미터 목록에 var/val를 지정하면 된다.
class MutableNameAlien(var name: String)
class FixedNameAlien(val name: String)
fun main() {
val alien1 = MutableNameAlien("Reverse Giraffe")
val alien2 = FixedNameAlien("Jiyeong Park")
alien1.name = "Parasite" // 가능
alien2.name = "Parasite" // 불가능
}
- 생성자에는 파라미터가 많이 있어도 된다.
class AlienSpecies(
val name: String,
val eyes: Int,
val hands: Int,
val legs: Int
) {
fun describe() =
"$name with $eyes eyes, "
+ "$hands hands and $legs legs"
}
fun main() {
val kevin = AlienSpecies("Zigerion", 2, 2, 2)
println(kevin.describe())
}
//출력
Zigerion with 2 eyes, 2hands and 2 legs
728x90
반응형
'코틀린' 카테고리의 다른 글
아토믹 코틀린 - 예외(Exception) (0) | 2023.10.02 |
---|---|
아토믹 코틀린 - 객체 - 패키지 (0) | 2023.10.02 |
아토믹 코틀린 - 객체 - 가시성 제한하기 (0) | 2023.10.02 |
아토믹 코틀린 - 객체 - 프로퍼티 (0) | 2023.10.02 |
아토믹 코틀린 - 객체 - 클래스, 멤버 함수... (0) | 2023.10.02 |