inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

레트로의 유니티 C# 게임 프로그래밍 에센스

인터페이스

다형성으로

388

hwakyeom

작성한 질문수 24

0

부모 클래스(ex:) Monster)로서 자식클래스(ex:) Orc_Mage, Orc_warrior... etc.)를 받아와서(ex:) Monster a = Orc_Mage;)

부모클래스 명령어로 처리하는 방식도 있잖아요? (ex:) a.Attack();)

인터페이스랑 어떻게 사용법을 구별할까요..?

C# unity

답변 2

1

이제민

인터페이스와 부모클래스에 의한 상속 둘다, 호출하는 측에서는 사용법을 구별할 필요는 없습니다.

정확히는, 해당 클래스가 인터페이스를 상속했는가, 부모 클래스를 상속했는가를 구별할 필요가 없다는게 정확합니다.

왜냐면, 사용자 입장에서는 인터페이스 또는 특정 부모 클래스를 상속함으로써, 어떤 메서드 등을 분명히 가지고 있다는 확신을 받는게 중요하기 때문입니다.

다만 인터페이스에서 혼란을 느끼는 이유는 이해합니다. :)

상속은 부모-자식 클래스 관계에서 사용하는 것인데, 같은 문법을 인터페이스에서 사용하니까요.

사실, 인터페이스는 가상 메서드만 존재하는 추상클래스와 완전히 같습니다.

인터페이스의 구현과 클래스의 상속 사이의 차이점 중 하나는, 인터페이스는 어떤 미완성의 메서드를 완성할 것을 강제하지만, 클래스는 미완성의 가상 메서드를 만들것을 강제하는 것과 별개로 , 완성된 메서드, 이미 존재하는 필드등을 함께 제공하게 됩니다. 또한 인터페이스는 다중 상속이 가능합니다.

인터페이스를 상속하는 행위는 사실, 인터페이스를 "구현한다"고 표현하는 것이 정확합니다. 어떤 언어들은 인터페이스를 상속하는 것을 상속이라는 단어 대신 명시적으로 "구현"한다고 표현합니다.

어째서 인터페이스는 "구현하는"것이고 클래스는 "상속하는 것"인지 고민해보는 것도 좋을 것 같네요!

0

hwakyeom

한마디로 인터페이스는 명시(?) 뭔가 복잡한 함수 묶음들을 따로 맨 위나 다른 스크립트에 인터페이스로서 구현해둬서

한눈에 확인 할 수 있도록 활용한다는 것이군요!??

지금 이벤트 제네릭 람다까지 C#고급 강좌까지 완강했는데 아무리 생각해봐도 인터페이스나 오버라이드를 쓸 바에는

그냥 추상클래스 하나 쓰는 편이 훨씬 깔끔할 거 같거든요 ;; 

아직 뭔가 실전으로 프로젝트를 따로 만들어서 이것저것 시도해보지는 않아서 모르겠습니다만 ......

상세한 답변 감사합니다!

코루틴 관련 질문 있습니다.

0

64

1

강의 업데이트 질문

0

88

1

궁금한 부분이 있어서 질문 남깁니다.

0

161

1

FreeLook 카메라 Zone 설정관련

0

114

1

와..정말 감탄이 나오네요..

0

144

1

추상 클래스에 대해 이해가 잘 안되었는데

0

117

1

IsTargetOnSight가 자꾸 false로 나와요.

0

103

2

레이캐스트 에셋 임포트하는방법을 모르겠어요.

0

85

1

레이케스트 에셋을 다운받았는데 임포트 방법을 모르겠습니다.

1

139

2

혹시 어드레서블 강좌 추가계획이 있으실까요?

0

125

1

시네머신 FreeLook 관련

0

221

1

텍스트 드래그 앤 드롭

0

376

2

안녕하세요 랜덤오브젝트 생성기에서 질문있습니다.

0

243

1

유니티 에디터 버전

0

373

1

text가 아닌 TextMeshPro를 사용해도 괜찮나요?

0

1729

2

상속 관련 질문입니다.

0

350

1

TPS 캐릭터 문제점 있습니다.

0

437

1

총을 쏴서 적을 맞췄을 때 저를 추적하는 코드는 어디 나와있나요??

0

276

0

github

0

305

0

wave 를 0으로 초기화해주는 부분이없는데 왜 0부터 시작하나요?

0

314

0

TPS게임 제작 Aim애니메이션 관련 질문 드립니다.

1

366

1

점프관련해서 UI버튼클릭을 통한 전달값에 대한 질문입니다.

0

303

1

인터페이스

1

235

0

혹시 본 강의에서 Dictionary 나온 파트가 있을까요?

0

265

0