override #overriding 2

Kotlin : 추상클래스 (Abstract class)

1. 추상클래스의 필요성 클래스를 정의할 필요가 없는 고유한 개체 (object 키워드) 가 있듯, 객체가 없는 클래스가 존재한다. 그런 클래스가 과연 유용할까? 클래스는 ( https://bruders.tistory.com/21 ) 에서 얘기했듯 동일한 유형의 객체에 대한 일반적인 구조를 정의한다. 위 코드는 지난번에 코틀린 상속관련 예시로 작성한 코드다. Actor 클래스는 Actor 객체의 구조를, Director 클래스는 Director 클래스만의 구조를 정의했었는데, 두 사이 공통분모가 존재해 이를 따로 빼둘 둘의 상위 클래스인 Person 클래스를 만들었던 것이다. 사실 Actor 클래스와 Director 클래스의 객체만이 필요했을 뿐, Person 클래스의 객체는 따로 필요하지가 않은 상태라..

언어/Kotlin 2022.11.05

Kotlin : Polymorphie (ft.오버라이딩)

1. Polymorphie 란? 다형성(Polymorphie)은 공통 인터페이스를 통해 다양한 클래스의 구현에 액세스 할 수 있게 해준다. Polymorphie는 그리스어에서 유래했으며 대략, "다양한 형태"를 의미하며 객체 지향 프로그레밍의 중심 개념 중 하나이다. 이는 우리가 같은 방식으로 매우 다르게 설계된 객체를 사용할 수 있게 해준다. 저번의 클래스 계층 구조의 예시로 들었던 것이다. 탈것 클래스 내에 ' 출발하다()' 라는 메서드가 있다고 가정해보자. 그러면 자전거 클래스와 차 클래스의 출발하다()라는 메서드의 구조는 서로 당연히 다를 것이다. (출발하다() 메서드의 어떤 구현이 선택되는지에 대한 결정은 런타임에서 발생한다고 한다.) 2. Overriding 오버라이딩 Super Class의 ..

언어/Kotlin 2022.10.30