티스토리 뷰
- 코틀린의 모든 class는 공통 상위 클래스인 Any를 상속받는다. (타입 시스템 참고)
- 클래스 내부가 비어있다면 중괄호를 생략해도 무방하다.
class Example
- 자바와 달리 코틀린에서는 클래스와 메서드가 기본적으로 final로 선언된다.
- 상속 및 오버라이딩을 하기 위해서는 open키워드를 사용해야 한다.
- 상속 시 자바에서는 extends를 사용하지만 코틀린에서는 :(콜론)을 사용하여 상속한다.
open class Parent() {
}
// extends Parent
class Child() : Parent() {
}
- 부모의 생성자는 반드시 초기화해야 한다.
- 클래스가 주요 생성자를 가진다면 주요 생성자의 파라미터로 부모를 초기화시킬 수 있다.
open class Parent(val age: Int) {
}
class Child(val name: String, age: Int) : Parent(age) {
}
fun main() {
val c = Child("park jin", 31)
println("name :: ${c.name}, age :: ${c.age}") // name :: park jin, age :: 31
}
- 주요 생성자를 갖기 않는다면 보조 생성자에서 super를 이용하여 초기화 하거나 다른 생성자에게 위임해야 한다.
open class Parent(val age: Int) {
}
class Child : Parent {
val name: String;
// super로 부모 생성자 초기화
constructor(name: String, age: Int): super(age) {
this.name= name
}
// 다른 생성자에 위임
constructor(name: String): this(name, 31) {
}
}
fun main() {
val c1 = Child("park jin1", 21)
println("name :: ${c1.name}, age :: ${c1.age}") // name :: park jin1, age :: 21
val c2 = Child("park jin2")
println("name :: ${c2.name}, age :: ${c2.age}") // name :: park jin2, age :: 31
}
출처
https://kychul98.tistory.com/85
[코틀린] 5. 클래스 작성, 상속, 인터페이스
이번에 포스팅할 건 클래스에 대해서다 원래 깃허브 블로그에 썼던건데 깃허브 블로그 운영하기 귀찮아서 티스토리에 옮길려고 한다. 이 포스팅에선 코틀린에만 존재하는 data class, 한정 클래스는 설명하지 않을..
kychul98.tistory.com
https://hadeslee.tistory.com/26
코틀린 - 클래스와 상속
클래스와 상속 클래스 코틀린의 클래스는 class 키워드를 사용하여 선언됩니다 . class Invoice { } 클래스 선언은 클래스 이름, 클래스 헤더 (유형 매개 변수, 기본 생성자 등 지정) 및 중괄호로 묶인 클래스 본..
hadeslee.tistory.com
https://altongmon.tistory.com/585
코틀린(kotlin) : 클래스와 상속 class and inheritance
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 코틀린의 클래스와 상속에 대..
altongmon.tistory.com
https://brunch.co.kr/@mystoryg/12
코틀린(Kotlin) 클래스 상속
빠르게 살펴보기 | 상속 (Inheritance) 코틀린에서는 super class (이하 부모클래스) 선언하지 않은 클래스는 default super로 Any라는 부모클래스를 가집니다. class Computer // 암시적으로 Any를 상속 받음 표준 라이브러리에도 잘 설명되어 있습니다. Any (출처) open class Any The root of the Ko
brunch.co.kr
'개발 언어 > 코틀린' 카테고리의 다른 글
코틀린(Kotlin) | 클래스 - 추상 클래스, 인터페이스 (0) | 2019.06.21 |
---|---|
코틀린(Kotlin) | 클래스 - 멤버 오버라이드 (Override) (0) | 2019.06.21 |
코틀린(Kotlin) | 클래스 - 객체 생성 및 생성자 (0) | 2019.06.21 |
코틀린(Kotlin) | 클래스 - 객체지향 (0) | 2019.06.21 |
코틀린(Kotlin) | 타입 시스템 (0) | 2019.06.21 |