Kotlin
[Kotlin] 8. 클래스 생성, 생성자, init, constructor (보조 생성자 )
98kg
2024. 3. 12. 17:28
클래스 생성
class Person(var name:String, var birthYear:Int){
}
인스턴스 생성 후 출력
fun main() {
var a = Person("박보영",1990)
var b =Person("전정국", 1997)
var c = Person("장원영", 2004)
println("안녕하세요!! 제 이름은 ${a.name} 이고 저는 ${a.birthYear} 년생 입니다.")
}
매번 println을 사용하기에 번거로우니 클래스에서 공통적으로 사용한 자기소개 함수를 생성해서 사용하겠습니다.
fun main() {
var a = Person("박보영",1990)
var b =Person("전정국", 1997)
var c = Person("장원영", 2004)
a.introduce()
}
class Person(var name:String, var birthYear:Int){
fun introduce(){
println("안녕하세요!! 제 이름은 ${name} 이고 저는 ${birthYear} 년생 입니다.")
}
}
init
인스턴스 생성 시 구문을 수행하는 기능을 넣을 수 있다.
fun main() {
var a = Person("박보영",1990)
var b =Person("전정국", 1997)
var c = Person("장원영", 2004)
a.introduce()
}
class Person(var name:String, var birthYear:Int){
init{
println("인스턴스 생성 완료 이름 : ${this.name} 탄생연도 : ${this.birthYear}")
}
fun introduce(){
println("안녕하세요!! 제 이름은 ${name} 이고 저는 ${birthYear} 년생 입니다.")
}
}
보조 생성자 : 기본 생성자와 다른형태의 생성자를 만들어 인스턴스 생성 시 편의를 제공하거나 추가적인 구문을 수행하는 기능을 제공하는 역할을 한다
보조 생성자는 constructor 이라는 키워드를 사용하여 생성한다
: (콜론) 을 붙이고 this라는 키워드를 사용하여 기본 생성자가 필요로 하는 파라미터의 값을 넣어주면 됩니다.
fun main() {
var a = Person("박보영",1990)
var b =Person("전정국", 1997)
var c = Person("장원영", 2004)
var d = Person("이루다")
var e = Person("차은우")
var f = Person("류수정")
a.introduce()
}
class Person(var name:String, var birthYear:Int){
init{
println("인스턴스 생성 완료 이름 : ${this.name} 탄생연도 : ${this.birthYear}")
}
constructor (name:String):this(name,1997){
println("보조 생성자 사용") // 이 부분
}
fun introduce(){
println("안녕하세요!! 제 이름은 ${name} 이고 저는 ${birthYear} 년생 입니다.")
}
}
이렇게 보조생성자가 정상적으로 작동하는 것을 볼 수 있다.