안드로이드 앱 프로그래밍 with 코틀린 - 4. 코틀린 객체지향 프로그래밍
4. 코틀린 객체지향 프로그래밍 4.1 클래스와 생성자 클래스 선언만 하는 것도 가능 1 class User 클래스 생성에 new 키워드 사용하지 않음 주 생성자 클래스 선언부에 선언 constructor 생략 가능 init 키워드를 통해 로직 수행 가능 유일하게 매개변수에 val, var 키워드를 사용할 수 있음 ~= 그러면 자동적으로 멤버변수가됨 객체 생성의 메인 로직을 담당하는 편 보조 생성자 본문에 constructor로 선언 주 생성자가 있다면 무조건 호출해 주어야 함 1 2 3 4 class User(name: String) { constructor(name: String, count: Int): this(name) { } } 4.2 클래스를 재사용하는 상속 상속과 생성자 상위 클래스의 생성자를 어떻게든 호출해야한다. 1 2 3 4 5 open class Super(name: String) { } class Sub(name: String): Super(name) { } 오버라이딩 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 open class Super { open var someData = 10 open fun someFun() { println("I am super class function: $someData") } } class Sub: Super() { override var someData = 20 override fun someFun() { println("I am sub class function: $someData") } } fun main() { var obj = Sub() obj.someFun() // 출력 // I am sub class function: 20 } 접급 제한자 ...