안녕하세요 Samuel 입니다.
Java와의 차이점
- 코틀린 인터페이스에 프로퍼티 선언이 들어갈 수 있습니다.
- 자바와 달리 코틀린 선언은 기본적으로 final이며 public입니다.
- 중첩 클래스는 기본적으로 내부 클래스가 아닙니다. 코틀린 중첩 클래스에는 외부 클래스에 대한 참조가 없습니다.
- 짧은 주 생성자 구문으로도 거의 모든 경우를 잘 처리할 수 있습니다.
- 번잡스러움을 피하기 위해 유용한 메서드를 자동으로 만들어 줍니다.
- 클래스를 data로 선언하면 컴파일러가 일부 표준 메서드를 생성해 줍니다.
- 코틀린 언어가 제공하는 위임(delegation)을 사용하면 위임을 처리하기 위한 준비 메서드를 직접 작성할 필요가 없습니다.
코틀린 인터페이스
interface Clickable{
fun click()
}
class Button : Clickable {
override fun click() = println("I was clicked")
}
>>> Button().click()
I was clicked
위에서 click() 이라는 추상메서드가 있는 인터페이스를 정의했습니다. 이 인터페이스를 구현하는 모든 비추상 클래스(또는 구체적 클래스)는 click에 대한 구현을 제공해야합니다. Java와의 차이점
- 자바에서는 extends와 implements 키워드를 사용하지만, 코틀린에서는 클래스 이름 뒤에 콜론( : )을 붙입니다.
- 인터페이스와 클래스 이름을 적는 것으로 클래스 확장과 인터페이스 구현을 모두 처리합니다.
- 클래스는 인터페이스를 원하는 만큼 갯수 제한 없이 마음대로 구현할 수 있습니다.
- 클래스는 오직 하나만 확장할 수 있습니다.
- override 변경자는 반드시 사용해야합니다. 실수로 상위 클래스의 메서드를 오버라이드 하는 경우를 방지해줍니다.
- 상위클래스에 있는 메서드와 시그니처가 같은 메서드를 우연히 하위 클래스에서 선언하는 경우, 컴파일이 안되기 때문에 override를 붙이거나 메서드 이름을 바꿔야 합니다.
'책을 읽어봅시다 > Kotlin in Action' 카테고리의 다른 글
람다로 프로그래밍(1) (0) | 2022.03.03 |
---|---|
Basic Kotlin (0) | 2022.02.21 |
Why Kotlin (0) | 2022.02.19 |