-
2024.03.06 - 추상화(Abstract)C# 2024. 3. 6. 16:29
- 추상화(Abstract)
추상화(Abstract)란 클래스를 정의할 때 구체화 할 수 없는 기능을 추상적 표현으로 정의하는 것을 말한다.
- 추상 클래스(abstract class)
추상적 표현으로 정의된 추상 메서드를 하나 이상 포함한 클래스를 추상 클래스라고 한다. 클래스가 추상적인 표현을 정의하는 경우, 자식 클래스에서 구체화시켜 구현할 것을 미리 염두에 두고 추상화한다.
어떤 동물이 어떻게 울지 알 수 없기 때문에 메서드를 추상화 했다. 추상 클래스와 추상 메서드는 타입 앞에 abstract를 붙여서 만들 수 있다. 추상 메서드는 추상 클래스에서 선언만 가능하고 정의할 수 없다.(기능 구현을 할 수없다.) 추상 클래스를 상속하는 자식 클래스를 만들 경우, 상속받은 추상 메서드는 자식 클래스에서 반드시 정의해주어야 한다.
부모 클래스(Animal)에 선언된 Cry()를 재정의(오버라이드)하지 않으면 에러가 생긴다. - 추상 클래스는 인스턴스 생성이 불가능하다는 특징이 있다.
- 추상 클래스를 상속받아 구체화 한 자식 클래스는 인스턴스 생성과 기능 사용이 가능하다.
- 추상 클래스도 일반적인 메서드를 가질 수 있다.
'C#' 카테고리의 다른 글
2024.03.06 - 다형성(Polymorphism) (0) 2024.03.07 2024.03.06 - 업캐스팅(Upcasting) (0) 2024.03.06 2024.03.06 - 오버라이딩(Overriding), 가상 함수(virtual) (0) 2024.03.06 2024.03.05 - 상속(inheritance), 접근 제한자 (0) 2024.03.06 2024.03.05 - 프로퍼티(Property) (0) 2024.03.05