인프런 커뮤니티 질문&답변
인터페이스를 쓰는 근본적인 이유
작성
·
489
답변 1
0
플레이어 스크립트에서 인터페이스 상속을 통해서 구현이 되어 있습니다.
그런데 어디선가 실행해주는 것을 확인해보기 위해서 IAdManager 라는 것을 직접 작성해서 확인해본 것입니다. 플레이어 안에 IAdManager 의 기능을 넣고 설명하면 더 혼돈이 올수 있기 때문에 이렇게 만든 것입니다.
인터페이스가 실행되는 것은 구조가 딜리게이트와 같습니다만 문법이 다릅니다.
어딘가에서 실행해주는 기능을 구현하였을때 사실 이 강의에서 볼수 있는 IAdManager 라는 클래스는 외부에 노출되어 있지 않게 됩니다.
저희 광고도 마찬가지로 구현이 되어 있는데 저희가 알수있는것은 인터페이스의 이름과 그것이 지원하는 함수입니다.
다음강의를 보시면 이해하기 쉬울텐데요.
어딘가에서 실행해주는 기능이 있는데 그것의 소스코드는 알리고 싶지 않고 게임개발자에게는 완료가 된 상황(광고가 끝난상황) 취소가 된 상황만을 알리고 싶습니다.
그렇기 때문에 저희는 IUnityAdsListener 라는 인터페이스를 상속받아서 사용합니다. 인터페이스 상속과 실제상속이 완전히 다른의미입니다. 그리고 유니티에서는 IUnityAdsListener 라는 인터페이스만 미리 만들어놓으면 됩니다. 실제 함수가 실행되는 것은 광고기능의 어딘가에 있겠죠. 그것조차 게임개발자는 알필요가 없다는 것입니다.
인터페이스의 뜻이 접속이라는 뜻이죠.
저희의 클래스와 광고클래스를 서로 접속 시킨다는 의미로 이해하시면 더 쉬울 것입니다.
감사합니다.




