728x90
- 주 생성자와 보조 생성자는 모두 클래스의 생성자이다.
- 따라서, 객체를 생성할 때 호출되는 건 똑같다.
- 그리고 클래스 안에 주 생성자만 선언하든, 보조 생성자만 선언하든 그것은 개발자 마음이다.
- 단지, 주 생성자와 보조 생성자를 모두 선언할 경우 보조 생성자로 객체를 생성할 때에는 반드시 주 생성자가 실행되게 만들어야 한다는 규칙이 있다.
- 이러한 규칙은 필수 매개변수와 실행 구문을 주 생성자에 작성하고 보조 생성자가 실행될 때 주 생성자도 함께 실행되게 하려는 의도이다.
- 결국 객체를 여러 가지 형태로 생성할 수 있도록 생성자의 매개변수를 다양하게 구성할 때 생성자의 공통된 코드는 주 생성자에 작성하라는 의미로 이해할 수 있다.
class User(name: String){
constructor(name: String, count: Int): this(name){
println("constructor(name: String, count: Int) call...")
}
}
fun main() {
val user = User("kuka",20)
}
728x90
'Kotlin 앱 프로그래밍' 카테고리의 다른 글
(코틀린) 데이터 클래스와 컴패니언 클래스 (2) | 2023.05.22 |
---|---|
(코틀린) 상속과 오버라이딩 (0) | 2023.05.22 |
코틀린 널 안정성 연산자 (0) | 2023.05.21 |
(코틀린) 고차 함수 (0) | 2023.05.21 |
(코틀린) 람다 함수의 반환 (0) | 2023.05.21 |