아직 기초 단계이기 때문에 가볍게 넘어가는 파트이다.
class Study08 {
var cls = Study08()
}
클래스를 초기화 하는 방법은 이렇다.
자바때는 new를 이용해서 초기화 시켰는데 코틀린은 간결하다.
그리고 초기화를 만드는 방법이다.
class Study08{
init {
//클래스를 초기화 하면 호출된다.
}
}
보조생성자나 여러가지는 다음에 다뤄볼것이다.
자바의 static은 이곳의 companion object와 같다.
class Log {
//companion object 블럭에 함수든 변수든 넣어버리자.
companion object {
fun d(tag: String, String) {
print("")
}
}
}
상속을 하는 이유는 두가지이다.
1. 기존의 작성된 코드를 재활용
2. 체계적인 계층구조를 사용하기 위해서
여기서 상속받을 함수나 변수는 앞에 override를 붙인다.
class Parent {
var money = 5000000000
open var house = "우리집 아파트"
open fun showHouse() {
}
}
class Child : Parent() {
//상속받으면 , 아빠클래스의 프로퍼티와 메서드를 내것처럼 사용할수 있다.
override var house = "우리집 아파트"
fun showMoney() {
Log.d("클래스 ", "money=${money}")
}
override fun showHouse() {
}
}
이제 이와 이름이 유사한 overload에 대해 알아보자.
class Son{
//파라미터 변수를 받지않는다.
fun getNumber() : Int{
return 1
}
//파라미터 변수를 하나 받았다.
fun getNumber(pa:Int) : Int{
return pa
}
}
var son = Son()
//파라미터 변수를 받지않은 getNumber가 실행된다.
var result : Int = son.getNumber()
//파라미터 변수를 정의한 getNumber가 실행된다.
result = son.getNumber(123)