ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.