인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

강아지호빵찐빵님의 프로필 이미지
강아지호빵찐빵

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

우선순위 큐 마무리

IComparable의 구현부 관련 질문입니다.

해결된 질문

작성

·

210

0

IComparable을 설명하시면서 class Knight : IComparable<Knight>에서는

public int CompareTo(Knight other)

        {

            if (Id == other.Id)

                return 0;

            return Id > other.Id ? 1 : -1;

        }

라는 IComparable의 구현부가 필요하다고 하셨는데 어째서

class PriorityQueue<T> where T : IComparable<T>는 위처럼 따로 구현부를 만들어주지 않았는데도 잘 작동하는 건가요?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

class PriorityQueue<T>의 T는 Generic이라
뒤늦게 넣어주는 T가 IComparable을 만족해야 합니다.

네 만족해야 하는 건 알겠는데 그거랑 구현부를 안 만든 거랑 무슨 상관인지 검색해 봐도 안 나와서요..

Rookiss님의 프로필 이미지
Rookiss
지식공유자

T는 아직 미정인 상태라 딱히 뭔가를 요구하지 않고,
<T> 안에 무엇인가 들어갈 때 실체화 되므로 (ex: Knight)
그 아이가 CompareTo를 구현해야 합니다.

감사합니다!

강아지호빵찐빵님의 프로필 이미지
강아지호빵찐빵

작성한 질문수

질문하기