인프런 커뮤니티 질문&답변

Jinshick Kim님의 프로필 이미지

작성한 질문수

게임 디자인 패턴 with Unity

스트레티지 패턴 2번 강의에서 궁금한게 있습니다.

20.03.17 16:51 작성

·

270

0

예제 영상중에

bullet, missile, arrow 클래스를 만드시고 Iweapon  인터페이스를 붙이셨습니다.

그리고 각 클래스들을 각 프리팹에 bulletmove 클래스와 함께 붙이셨습니다.

여기서 궁금한게 shoot(); 명령은 추후 setWeaponType 메소드로 매니져 오브젝트에

추가한 컴포넌트들로 명령하는거 같은데

각 총알 프리팹에 Iweapon 인터페이스를 추가한 클래스들을 붙인것은

어떠한 기능때문에 추가하신건가 궁금합니다.

답변 1

2

강호준님의 프로필 이미지

2020. 05. 13. 02:32

강의자는 아니지만 도움이 되실까 남김닙니다. 각각 오브젝트에 추가한 컴포넌트의 클래스 명이 다릅니다. 하지만 이 컴포넌트들은 같은 인터페이스인 IWeapon.cs 를 가지고 있습니다. 그래서 컴포넌트에 달린 클래스 명이 달라도 하나의 클래스(IWeapon 인터페이스)를 통해 접근이 가능한 것입니다. 이렇게 인터페이스를 작성하여 어떤 특성을 공유하는 클래스에 인터페이스를 공유하여 하나의 접근점으로 활용할 수 있는것입니다.