해왔던 삽질..
Flutter - abstract class extends vs implements
대기만성 개발자
2020. 8. 17. 14:55
반응형
소스코드를 찾다보면 abstract class를 상속받을 때
어떤 곳에서는 extends, 다른 곳에서는 implements로 되어있습니다
필자는 C로 입문 후 자바 => 다트로 넘어갔었던 케이스라 당황했었습니다
필자가 이것을 처음봤을 때의 반응 :
abstract class 상속할때는 extends, interface는 implements 아니었던가? 뭐지?
(참고로 Dart는 interface가 없습니다)
두 방식의 차이는
extends는 override해서 재정의 하는 함수 제외하고 따로 정의를 해주지 않아도 되고
implements는 모든 메소드를 재정의 해줘야됩니다
따라서 본인이 메소드 이름(기능)만 정의 해놓고 자식 클래스에서 기능을 정의 할 때는
implements를 그 외에는 extends를 사용하는게 맞는거 같습니다
(그런데 자식 클래스에서 전부 다 재정의 할꺼면 왜 사용하는거지...)
반응형