Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- SCPC
- 5397번
- 2018
- MySQL
- falsePosition
- chapter01
- graphical models
- 1차예선
- 델타 rule
- 선형판별분석
- CH01
- directed graphical model
- 자바ORM표준JPA프로그래밍
- Numerical optimization
- bisection
- secant
- Perceptron Convergence theorem
- undirected graphical model
- 로지스틱 회귀
- Fisher discriminant analysis
- 개발순서
- 알고리즘
- vector미분
- 스터디
- 선형분류
- 인공지능
- 이것이 MySQL이다
- 알고리즘대회
- 근구하기
- chapter02
Archives
- Today
- Total
computer_study
[Kotlin] 08. 클래스 계층 이해하기 본문
1. 상속
- extends, implements 대신 콜론(:)으로 표시
- 코틀린 함수와 프로퍼티는 기본적으로 final, 오버라이드하게 허용하기 위해선 open을 명시해야 한다.
(반대로 자바에선 프로퍼티가 암시적으로 open, final을 사용해 오버라이드를 막는다.) - 코틀린에선 멤버를 오버라이드 하는 경우에 override 키워드를 앞에 붙여야 한다
(자바에서는 꼭 표시를 하지 않아도 된다)
open class Vehicle{
var currentSpeed = 0
fun start(){
println("I'm moving")
}
fun stop(){
println("Stopped")
}
}
open class FlyingVehicle : Vehicle(){
fun takeOff(){
println("Take off")
}
fun land(){
println("Landed")
}
}
class Aircaft(val seats: Int) : FlyingVehicle()
// open이 없으면 final클래스로 간주
// Class Airbus(seat: Int) : Aircraft(seats) 이라면 오류가 발생한다
- protected
- 공통점
- 하위클래스에서 상위 클래스의 protected 멤버 접근을 허용한다
- 차이점
- 자바는 페키지에 속한 아무 코드에서나 멤버에 protected 멤버에 접근할 수 있다.
- 코틀린에선 위와 같은 접근이 금지된다.
- 공통점
- 생성자간의 호출
- 코틀린에선 생성자 간의 호출이 생성자 본문에 들어가는 일이 없다.(위임 호출 구문을 항상 사용해야 한다.)
2. 추상 클래스와 인터페이스
- 자바
- 인터페이스 상속 시 implements, class 상속 시 extends
- 코틀린
- 모든 상속을 똑같은 기호(:)를 사용해서 표시한다.
'스터디 > 코틀린 완벽 가이드' 카테고리의 다른 글
[Kotlin] 12. 자바 상호 운용성 (0) | 2022.06.08 |
---|---|
[Kotlin] 09. 제네릭스 (0) | 2022.06.08 |
[Kotlin] 07. 컬렉션과 I/O 자세히 알아보기 (0) | 2022.06.03 |
[Kotlin] 06. 특별한 클래스 사용하기 (0) | 2022.05.27 |
[Kotlin] 05. 고급 함수와 함수형 프로그래밍 활용하기 (0) | 2022.05.26 |
Comments