TIL: Flutter | Dart (8) 추상 클래스 - 221212

Lumpen·2022년 12월 11일
0

Dart

목록 보기
8/20

추상 클래스

추상 클래스는 추상 메소드를 가질 수 있는 클래스다
필수적으로 포함해야 하는 것은 아니다
일반 클래스에는 추상 메소드를 선언할 수 없다

주상 메소드는 미완성된 메소드로
선언은 되어있지만 몸체가 없는 함수이다

interface와 조금 다른듯 하다

추상 클래스는 abstract 키워드로 선언한다

abstract class Person {
	eat();
}

추상 클래스는 미완성 클래스이기 때문에 객체를 생성할 수 없다
하지만 참조형변수의 타입으로는 사용 가능

추상 클래스를 사용하기 위해서는
일반 클래스에서 implements 키워드로 구현하겠다는 선언 후
반드시 추상 메소드를 오버라이딩 해야한다
메소드의 몸체가 없기 때문에 몸체를 생성하는것 자체를 오버라이딩으로 봐야할 것 같다

다트에서는 추상 클래스에 추상 메소드만 존재하는 것은 아니다
존재할 수도 있고, 일반 메소드만 존재할 수도 있다
그치만 일반 메소드 또한 imlements 하는 클래스에서 재정의 되어야 한다

@override 어노테이션은 생략 가능하지만 역시나 쓰는 편이 좋겠다

extends 확장 키워드로 확장을 하는 일반 클래스의 경우는 하나의 클래스만 상속을 받을 수 있지만
추상 클래스는 여러 곳에서 받을 수 있다
이 때 콤마(,) 를 통해 구분한다

class Developer implements Person, Junior {
	
}

추상 클래스를 타입으로 지정하는 것은 일반적이지 않다

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글