Notice
Recent Posts
Recent Comments
Link
Hello, Android!
상속 본문
클래스를 만들때 부모 클래스의 속성과 기능을 물려받아 사용하는데 이것을 상속이라고 한다
상속을 이용하면 부모 클래스를 물려받은 자식 클래스는 부모 클래스의 내용을
다시 구현하지 않아도 그대로 사용할수 있다
예를들어 자동차 클래스 만으로는 SUV, 스포츠카 등 다양한 차를 나타내기에는 범위가 넓다
이럴때 자동차 클래스에는 자동차의 공통적인 부분을 정의하고 각각의 차종 클래스에서는
부모인 자동차 클래스의 프로퍼티와 메소드를 사용하고, 각각의 특성에 맞게 필요한
프로퍼티와 메서드만 추가하면 된다
부모 클래스로 사용할 클래스는 클래스 선언시 open 키워드를 붙여, 부모 클래스임을 명시한다
하지만 코틀린에서 모든 클래스는 Any 클래스의 하위 클래스이며, 부모 클래스를 명시하지 않으면 Any가 부모클래스가 된다
위의 예제에서는 Car 클래스를 open 키워드를 이용하여 부모 클래스로 정의하였다
Suv클래스 에서는 주생성자를 이용하였고, 부모 클래스인 Car클래스의 생성자에 사용하는 매개변수와 인자들을 지정한다
Suv클래스의 주생성자 뒤 : 콜론으로 부모 클래스를 명시하였는데, 클래스 선언과 변수 선언을 구분하기 위해
콜론 앞뒤로 뛰서쓰기를 하는것이 관례이다
SportsCar클래스 에서는 부 생성자를 이용하였는데 여기서 프로퍼티 sportsCarName을 초기화 하여 확장하였고
fastCar라는 매서드도 추가하였기 때문에
sportsCar 클래스는 fastCar(), carInfo(), carType()를 모두 사용할수 있다