추상 클래스의 정의
*하나 이상의 추상 메서드를 포함하는 클래스
*Abstract Method : 선언부만 존재 구현은 자식 클래스에서
*Abstract Class : 인스턴스화 될 수 없음
사용 목적 : 상속 받은 클래스들이 반드시 제공해야 하는 메서드를 정의
abstract승용 class-> abstract 시동method;-> override ->소나타class.start() / 그랜저class.시동method
소나타.start()이렇게 만들면 개발자에게 혼돈이 온다.
그래서 이름은 무조건 시동 !! 규격만 정해주는거
시동거는건 표준화가 되어있다.
어떤 메서드의 시그니처를 정해주는 역할 이렇게 생긴 메서드를 만들어
본인은 개념 레벨이기 때문에 인스턴스를 생성할 수 없어
해당 abstract 클래스를 상속 받은 클래스는 해당 메서드를 사용하지 않고 다를
거를 재 정의하면 에러가 난다.
설계 단계에 표준을 정하는 역할을 한다.
인터페이스는 클래스가 아니다 클래스들이 상속받을 수 있는 어떤거
규격만을 정의한다.
추상 메서드는 무조건 추상 클래스 상에 있어야 한다.
클래스는 다형성
메서드의 시그니처를 같게 한다.
시그니처를 다를게 하는걸 오버로딩(메소드 명만 같고)
시그니처는 같은데 다시 재정의 하는건 오버라이딩
같은 시그니처는 서로 다른 동작을 한다는걸 다형성
abstruct 는 무조건 해당 시그니처 메서드로 강요해서 하나로 통일 시켜버린다.
Area() 로 통일해 버림
'C#' 카테고리의 다른 글
c# 네트워크 공부 (IPAddress 클래스 / Dns클래스) (0) | 2021.01.14 |
---|---|
라디오 버튼과 그룹 박스 사용법 (0) | 2021.01.01 |
시퀀스 (0) | 2020.12.16 |
LINQ_to_Objects의_기초 (0) | 2020.12.15 |
List 클래스와 람다식의 조합 (0) | 2020.12.14 |
인터페이스 개념 및 연습 C# (0) | 2020.11.18 |