묠니르묘묘
꾸준히 성장하는 개발자스토리
묠니르묘묘
전체 방문자
오늘
어제
  • 분류 전체보기 (188)
    • 프로그래밍 (48)
      • 디자인패턴 (4)
      • 예외,에러 (4)
      • Java (29)
      • Kotlin (3)
      • React.js (4)
      • JavaScript (2)
      • Apache Kafka (2)
    • Spring (49)
      • Spring (21)
      • Spring Cloud (3)
      • JPA (25)
    • 코딩테스트 (31)
      • 알고리즘 (5)
      • Java - 백준 (26)
      • Java - 프로그래머스 (0)
    • AWS (7)
    • 데이터베이스 (6)
    • 개발 etc (23)
    • 도서 (5)
    • 회고록 (4)
    • 데브코스-데이터엔지니어링 (15)

인기 글

최근 글

hELLO · Designed By 정상우.
묠니르묘묘

꾸준히 성장하는 개발자스토리

Kotlin(코틀린) - Inheritance(상속)
프로그래밍/Kotlin

Kotlin(코틀린) - Inheritance(상속)

2022. 4. 5. 11:30

https://kotlinlang.org/docs/inheritance.html

 

Inheritance | Kotlin

 

kotlinlang.org

 

Inheritance(상속)

  • 모든 클래스들의 최상위 부모 클래스는 Any
  • 모든 클래스는 기본적으로 final class로 처리되어 기본적으로 상속이 불가능
  • 상속이 가능한 클래스로 정의하려면 open 키워드를 사용해야한다.
open class Base // Class is open for inheritance
  • 부모 클래스를 지정하기 위해서는 class header 뒤에 콜론을 적고 부모 클래스의 header를 적는다. (기본 생성자 포함)
  • 만약 부모 클래스가 기본 생성자를 가진다면 자식의 기본 생성자에서 부모 클래스를 반드시 초기화해야 한다.
open class Base(p: Int)

class Derived(p: Int) : Base(p)
  • 만약 자식 클래스에 기본 생성자가 없다면 각 secondary constructor에서  super  키워드를 이용해 초기화하거나 다른 secondary constructor를 이용해서 부모 클래스를 초기화한다.
class MyView : View {
    constructor(ctx: Context) : super(ctx)
    
    constructor(ctx: Context, attrs: AttributeSet) : super(ctx, attrs)
}

 

 

 

실습

  • Position을 상속 가능하게 변경하고 이를 상속받은 TPosition 클래스를 정의하자.
  • 단, 기존 Position 클래스에 있는 print 코드는 삭제한다.
  • TPosition 클래스는 정수형 z 변수를 추가로 가지며 생성자로는 숫자 3개를 받는다.
  • TPosition 클래스의 객체를 생성하라.

 

저작자표시 비영리 (새창열림)

'프로그래밍 > Kotlin' 카테고리의 다른 글

Kotlin(코틀린) - var 와 val  (0) 2022.05.31
Kotlin(코틀린) - Classes(클래스), Constructor(생성자)  (0) 2022.03.31
    '프로그래밍/Kotlin' 카테고리의 다른 글
    • Kotlin(코틀린) - var 와 val
    • Kotlin(코틀린) - Classes(클래스), Constructor(생성자)
    묠니르묘묘
    묠니르묘묘

    티스토리툴바