-
Abstract, virtual, override, interface게임 개발 학원/C# 2024. 3. 6. 14:31반응형
가상 (virtual)함수 : 부모클래스의 함수 중 자식 클래스에 의해서 재정의 할 수 있는 함수를 지정
선택적인 재정의(override)가 가능
base: 부모 클래스를 가리킴
오버라이딩 : 부모클래스의 가상 함수를 같은 함수이름과 같은 매개변수로 재정의하여 자식만의 반응을 구현
virtual과 override를 사용하여 재정의하는 이유
: 상위 클래스에 하위 클래스 인스턴스를 담을 때, 하위 클래스의 함수를 호출하기 위해
Abstract 추상화
- 클래스를 정의할때 구체화 시킬 수 없는 기능을 추상적 표현으로 정의
- 하나 이상의 추상함수를 포함하는 클래스
- 클래스가 추상적인 표현을 정의하는 경우 자식에서 구체화시켜 구현할것을 염두하고 추상화 시킨다
- 추상클래스를 상속하는 자식클래스가 추상함수를 재정의 하여 구체화한 경우 사용 가능- 추상 클래스는 인스턴스 생성 X, 실체화를 시킬 수 없음
- 구체화한 자식에서는 인스턴스 생성이 가능하고 기능을 사용할 수 있음
추상클래스 : 하나 이상의 추상함수를 포함하는 클래스, 추상클래스에서 구현하지 않고 선언만함
클래스에서 구현을 하지 않고 선언만 한다 (자식에서 반드시 구현 ->구체화)인터페이스
추상클래스의 일종으로 특징이 동일
함수에 대한 선언만 하고 이를 포함하는 클래스에서 구체화한 다음 사용
공통점 : 함수에 대한 선언만 정의 자식에서 구체화
인터페이스는 다중 상속 허용,
추상클래스 : 상속관계인경우 자식클래스가 부모클래스의 하위 분류인 경우
: 상속을 통해서 얻을 수 잇는 기능등을 사용할 수 있음
: 부모클래스의 기능을 통해서 자식 클래스의 기능을 확장하는 경우
: 관계성이 연관 상위 클래스가 하위클래스랑 연결 포함: 변수 포함 가능
인터페이스 : 행동을 포함하고 인터페이스를 상속을 받는 클래스가 해당 행동을 할 수 있는 경우
: 인터페이스에 정의된 함수들을 클래스에 목적에 맞게 기능을 구현하는 경우: 변수 포함 불가능
상속 : 사과는 과일이다.
인터페이스 : 차에 들어갈 수 있다
반응형'게임 개발 학원 > C#' 카테고리의 다른 글
디폴트 매개 변수, params, in ,out , ref (0) 2024.03.08 객체지향 4대특징 & SOLID (0) 2024.03.06 클래스 정리 (0) 2024.03.05 foreach문, var (0) 2024.03.04 C#형변환 (0) 2024.03.04