이글은 Kotlin 문법 정리글입니다.
OOP에서 가장 중요한 개념이 상속이죠. 이번에는 kotlin에서 상속을 알아보겠습니다. 예시코드를 보시죠.
fun main() {
}
class Human() {
fun introduce() {
println("안녕하세요?")
}
}
가장 간단한 형식으로 Human class를 생성했습니다. 해당 class는 introduce()라는 메소드를 가지고있어요. 이제 상속을 이용해서 새로운 class를 만들겠습니다.
fun main() {
}
open class Human() {
fun introduce() {
println("안녕하세요?")
}
}
class Student : Human()
super class에서 class 키워드 앞에 open이라는 키워드가 붙었습니다. Java와는 다르게 kotlin에서는 기본적으로 모든것이 닫혀있습니다. 그래서 상속을 가능하게 하려면 open이라는 키워드를 붙여야합니다. open을 붙이지 않고, 추상클래스를 생성하면 추상클래스는 모두 상속이 가능해요.
fun main() {
}
abstract class Human() {
fun introduce() {
println("안녕하세요?")
}
}
class Student : Human()
이제는 오버라이딩하는법을 알아보죠. 오버라이딩은 오버로딩과는 전혀 다른 기능입니다. 부모클래스의 메소드를 상속받아서 재정의하여 자식 클래스에서 사용하는 것인데요. 마찬가지로 오버라이딩도 닫혀있습니다. open이라는 키워드를 사용하면 오버라이딩이 가능해집니다.
fun main() {
}
abstract class Human() {
open fun introduce() {
println("안녕하세요?")
}
}
class Student : Human() {
override fun introduce() {
println("안녕하세요? 저는 학생입니다.")
}
}
fun 키워드 앞에 override 키워드를 붙여주면 오버라이딩이 가능합니다.