본문 바로가기

Log

#07 다중상속 오류(CS1721:cannot have multiple base classes) [Unity 개발일지]

안녕하세요 ^^

오늘도 열이 한껏 받아 

컴퓨터를 껐다 킨 개발자입니다..^^

개발 현황

갓아트... 디자이너의 손길로 이뤄진 메인 화면이 거의 완성되었습니다!!!

이젠 학습 API 를 붙여

학습과 도감을 제작 중입니다!

 

(조합이 주가 되는 게임이기에

문제를 풀어 일정 개수 이상 맞히면

도감-조합법이 해금됩니다.)

죽지도 않고 돌아온 오류

이젠 개발할 때 오류가 안 나면

서운할 지경입니다 ^^...

(사실 뻥이에요 하나도 안 서운하니까 그만 나)

 

도감을 제작하기에 앞서

JSON 형태로 저장되는 게임 데이터를 구현하려고 했는데요!

 

전에도 개발해본 적이 있으니 쉽게 되겠지~

했지만 웬걸...

Class '클래스이름' cannot have multiple base classes: 'MonoBehaviour' and '인터페이스이름'

위와 같은 오류가 계속해서 나는 것입니다...

 

이럴 리가 없는데...?

 내 C# 세계가 무너졌나...??

 

고민하다 여러 문서를 보게 됐죠...

원인

C#은 Class 를 다중상속을 받을 수 없다.

 

Unity 코드의 기본 Class 인 Monobehaviour!

Class 이기에 다른 Class 를 상속 받을 수 없는 것입니다.

 

근데 여기서 의문은

Class 는 하나인데 왜 뜰까요 허허

public interface IDataPersistence

위의 인터페이스를 상속 받으려는데

자꾸만 다중 클래스를 상속한다는 것입니다!

영혼이 빨린 채 몇 시간...

 

저는 깨달았습니다...

해결 방법

https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1721

 

Compiler Error CS1721

Table of contents Compiler Error CS1721 Article 09/15/2021 10 contributors Feedback In this article --> Class 'class' cannot have multiple base classes: 'class_1' and 'class_2' The most common cause of this error message is attempting to use multiple inher

learn.microsoft.com

우리의 마이크로소프트

아주 친절해요

1. 상속의 상속의 상속 받기

2. 클래스 하나를 인터페이스로 설정하기

 

나의 실제 해결 방법

저는 별 건 아니고...

 

인터페이스 코드 수정 후 (Class -> interface)

저장 안 했어요.

너무... 

별게 아니잖아요 ? 

 

ㅎㅎ..

ㅎㅎ를 영어로 하면

무엇인지 아시나요

 

gg입니다...

GG...


사실 중간평가 제출까지 얼마 안 남았다 두근두근어떡하지

 이렇게 조급해 하다 이런... 말두 안 되는. 실수를.

한 것 같아 소라게처럼숨고만싶다 ! ! !

 

하지만?

개발자에게 중요한 격언이 있습니다.

이겨내...

(사실 배구 동호회 유행어 입니다 예 그리고 저 취미로 배구해요 아주 재밌습니다 ^^)

 

조급 절대 금물.

또 한 번 새겨봅니다...

 

다들 개발 화이팅입니다!!