개인 공부/C#

추상 클래스

smallship 2024. 7. 26. 14:08

C#에서 추상 클래스는 구현이 불완전하여 해당 클래스 자체로는 인스턴스화할 수 없는 클래스를 의미한다.
추상 클래스는 다른 클래스들이 상속하여 그들의 특정 동작을 구현해야 하는 기반 클래스로 사용된다.
추상 클래스는 하나 이상의 추상 메서드를 포함할 수 있으며 추상 메서드는 본체가 없는 메서드로, 파생 클래스에서 반드시 구현해야 한다.

 

추상 클래스 특징

  • 인스턴스화 불가: 추상 클래스는 직접 인스턴스화할 수 없다.
  • 추상 메서드: 추상 클래스는 본체가 없는 추상 메서드를 포함할 수 있다. 이 메서드는 파생 클래스에서 구현해야 한다.
  • 일반 메서드: 추상 클래스는 일반 메서드도 포함할 수 있다.
  • 필드 및 속성: 필드와 속성도 가질 수 있다.
  • 생성자: 생성자를 가질 수 있으며, 파생 클래스의 생성자에서 호출할 수 있다.

추상 클래스 vs 인터페이스

  • 추상 클래스는 상태(필드, 속성)를 가질 수 있으며, 일부 메서드의 기본 구현을 제공할 수 있다..
  • 파생 클래스는 이 상태와 구현을 상속받는다.
  • 인터페이스는 행동(메서드, 이벤트, 인덱서)을 정의하지만 상태를 가질 수 없다.
  • 구현은 완전히 파생 클래스에 의해 제공된다.
  • 추상 클래스와 인터페이스는 설계 상 서로 다른 목적을 가지고 있으며, 이를 혼합하여
     사용함으로써 더욱 유연하고 강력한 디자인을 만들 수 있다.

추상 클래스 정의
추상 메서드 구현

 

다른 경우도 작성해보자.

추상 클래스 구현

Shape 클래스를 상속받는 Circle 과 Rectangle 클래스를 선언, 추상 메서드를 구현한다.

 

실행 결과

 

'개인 공부 > C#' 카테고리의 다른 글

스택, 큐  (1) 2024.07.26
델리게이트(delegate)와 이벤트 (event)  (1) 2024.07.26
튜플  (0) 2024.07.25
유니티 리플렉션 (Reflection)  (0) 2024.07.19
LINQ (Language Integrated Query)  (0) 2024.07.12