kang9366
Repository
kang9366
글쓰기
설정
전체 방문자
오늘
어제
  • 분류 전체보기 (143)
    • Programming (70)
      • Java (1)
      • C++ (11)
      • Kotlin (12)
      • Keras (2)
      • Android (34)
      • Jetpack Compose (1)
      • Error Solution (7)
    • CS (36)
      • 자료구조 (13)
      • 운영체제 (1)
      • 알고리즘 (4)
      • 컴퓨터 보안 (8)
      • 기타 (10)
    • Data Science (28)
      • 데이터분석 (7)
      • 머신러닝 (14)
      • 딥러닝 (7)

인기 글

최근 글

최근 댓글

Github · Instagram · Facebook
kang9366

Repository

Programming/Kotlin

[Kotlin] open

2022. 11. 22. 00:08

상속이란 부모의 자원을 자식이 상속받아 사용하는 것

 

자바에서 상속 방법 

class Child extends + '부모 클래스'

class Parent {}
class Child extends Parent {}

 

 

코틀린에서 상속 방법 

class Child : '부모 클래스'

여기서 자바와 다르게 코틀린은 부모 클래스 앞에 open 키워드를 사용한다.

open class Parent {}
class Child : Parent() {}

 

만약 open이라는 키워드를 사용하지 않고 코드를 작성할 경우

This type is final, so it cannot be inherited from 이라는 에러 문구가 나온다.

코틀린은 open 키워드가 없을 경우 다른 곳에서 상속 받지못하는 final class로 정의되기 때문이다.

 

자바                                           코틀린

final class Parent{}   ==   class Parent{}

class Parent{}           ==   open class Parent{}

 

또한 코틀린에서는 상속을 명시 하지 않을경우 클래스 계층구조 ROOT에 위치한 Any 클래스를 상속받는다.

class ClassName
class ClassName : Any()
// 두개 동일

 

저작자표시 비영리 변경금지 (새창열림)

'Programming > Kotlin' 카테고리의 다른 글

[Kotlin] 추상클래스와 인터페이스  (0) 2022.12.16
[Kotlin] Data Class  (0) 2022.11.25
[Kotlin] 스코프함수  (0) 2022.11.17
[Kotlin] 빈 문자열 확인(isEmpty, isBlank)  (0) 2022.07.02
[Kotlin] 늦은초기화 (lateinit, by lazy)  (0) 2022.07.02
    'Programming/Kotlin' 카테고리의 다른 글
    • [Kotlin] 추상클래스와 인터페이스
    • [Kotlin] Data Class
    • [Kotlin] 스코프함수
    • [Kotlin] 빈 문자열 확인(isEmpty, isBlank)
    kang9366
    kang9366

    티스토리툴바