https://youtu.be/oF3oV98JJuY
https://youtu.be/Rdrg-_FnsEQ
1. 클래스 기본구조
클래스란 속성(변수)와 함수가 합쳐진 구조입니다.
문법 : class 클래스명(속성1, 속성2) {함수1, 함수2}
참조시에 참조연산자(마침표:.)를 이용한다. (예 : 소속.속성, 서울.강남)
fun main() {
var a = person("홍길동", 20)
a.selfIntroduce()
a.age = 30
a.selfIntroduce()
}
class person(var name : String, var age : Int){
fun selfIntroduce() {
println("안녕하세요. 저는 ${age}살 ${name}입니다.")
}
}
안녕하세요. 저는 20살 홍길동입니다.
안녕하세요. 저는 30살 홍길동입니다.
2. 생성자 (9장)
클래스가 생성될 때, 실행 됨. 초기화 구문을 넣을 수 있음
init {초기화구문}
fun main() {
var a = person("홍길동", 20)
var b = person("임꺽정", 15)
}
class person(var name : String, var age : Int){
init {
if(age >= 20) println("성인 생성($name)")
else println("미성년 생성($name)")
}
}
성인 생성(홍길동)
미성년 생성(임꺽정)
2-2. constructor (제작자)
default (언급하지 않았을 때, 기본적으로 설정하고자하는)를 설정을 constructor를 통해서 초기화 할 수 있습니다.
fun main() {
var a = person("홍길동", 20)
var b = person("임꺽정") // 나이를 입력하지 않았지만 자동으로 입력됨
var c = person(30)
}
class person(var name : String, var age : Int){
init {
println("$name / $age")
}
constructor(name : String) : this(name, 25)
constructor(age : Int) : this("아무개", age)
}
홍길동 / 20
임꺽정 / 25
아무개 / 30
댓글