포스트

클래스의 특성을 이용한 디자인 패턴의 시작

위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다.

클래스의 특성을 이용한 디자인 패턴의 시작

  • 디자인 패턴은 하위 클래스 객체상위 클래스 객체에 대입할 수 있다는 점에서 거의 모든 디자인 패턴이 시작한다.
  • 반대로 상위 클래스 객체하위 클래스 객체에 대입할 수 없다.
    • 왜냐면 하위 클래스 객체상위 클래스 객체보다 더 많은 멤버를 가질 수 있기 때문이다. 정보가 빈다.

      하위 클래스 객체상위 클래스 객체가 갖는 멤버 변수, 함수와 같은 정보를 모두 포함하고, 반대로 상위 클래스 객체하위 클래스 객체보다 갖는 정보가 적기 때문에 이를 억지로 대입하려고하면 정보의 공백이 생겨버린다. 그래서 이를 컴파일러에서 막는다.

  • 하위 클래스에서 재정의한 멤버 함수상위 클래스의 포인터로 호출하면 일반적으로 재정의 전의 함수가 호출된다. 이를 막고 하위 클래스의 함수가 호출되게 하려면 상위 클래스에서 그 함수를 가상 함수로 정의한다.

Untitled (1)

Untitled (1)

Untitled (2)

  • 이 결과는 sub 클래스의 Execute1() 함수가 호출된다.
  • 각각의 virtualoverride 키워드를 지우면 super 클래스의 Execute1()함수가 호출된다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.