프로그래밍

게임에서 아이템 클래스 같은거 보통 구현할때

만약 무기라고 치면

 

웨폰 클래스를 부모클래스로 잡고

 

 

자식클래스로 아이템 하나하나 만드냐?

 

 

아니면 걍 웨폰 클래스에서 db에 있는 값 불러와서 스위치문으로 적용시키냐?

 

 

뭐가 더나음?

9개의 댓글

2020.07.16

전자여야 각 무기마다 특수기능을 넣기 편하지 않을까

무기마다 다른 점이 스텟밖에 없다면 후자가 나을듯

0
@달팽e

ㅇㅋ 대충 감잡았다 어캐구현할지

0
2020.07.16

- 뭐가 더 낫다고 얘기하기 어려움. 원래 코드와 데이터는 서로 치환가능함.

- 일단 초기에는 코드로 만들다가 어느정도 패턴이 보이면 코드를 다 데이터화하는걸 추천.

- db에 값이 있다면 데이터가 코드에 있는 것이 아니니 switch statement를 쓸 필요는 없음.

- 클래스 상속은 요즘 안티패턴 취급받아. 인터페이스 여러개 만들어서 컴포즈해서 쓰셈.

0
@이용식

;;;미안한데 뭔말인지 잘이해가안감

ㄹㅇ 하나도 안들어옴;;

0
2020.07.16
@씨발좆같은개새끼

- 새로운 아이템을 만든다고 했을 때 새로운 클래스를 선언할 수도 있지만, 아이템 객체의 형태를 맞춰서 데이터화할 수도 있다는 말임.

 

class NewItem {

static name = 'NEW'

static damage = 3

...

}

 

이 코드를

 

{

"name": "NEW",

"damage": 3

}

같은 데이터 형태로 바꿀 수 있다는 의미. 물론 데이터를 가져와서 실행하는 코드를 만들어줘야하지만.

 

- 다시 생각해보니 switch statement는 안티패턴인듯.

 

- 클래스 상속 대신에 abstract class들을 컴포즈해서 쓰라는 말임.

 

class NewItem extends Item {

 

}

 

대신

 

class NewItem implements 공격Item, 퀘스트Item {

 

}

 

이런식으로.

0
@이용식

그럼 걍 인터페이스만 만들고 마지막 클래스에 구현 다하는게 맞다는거야? 코드전부다?뭔말인지 대충 이해는 가는데 ㄹㅇ 어캐 구현해야될지 막막허네;;

0
@이용식

코드를 데이터화라는것도 뭔말인지 잘모르겠고 스위치문을 안써도되겠는건 알겠는데 데이터가 코드에 있는것 이 아니란것도 잘모르겠음

그리고 마지막으로 상속이 요즘 안티패턴이라니??ㄴㅇㅁㅁㄹ

0
2020.07.16

1. 구현 방법을 정한다. 아이템마다 클래스를 만드는 것으로 할지 vs 아이템의 데이터 형태를 (어느정도)정형화해서 데이터베이스에 저장하는 것으로 할지

 

2. 만약 전자로 한다면, composition over inheritance를 구글링해본다. 한국어로는 상속보다 조합? 상속보다 구성?

 

3. 만약 후자로 한다면, 이미 어떻게 만들어야할지 아는듯?

0
@이용식

아 ㅇㅋ 대충 뭔말인지 알겠음 코딩초보라서 잘이해가안갔음

ㄳㄳ

근대 예를들어 같은 무기라도 총일경우랑 검일경우에는 데이터로만 정형화해서 하는게 불가능하잖아

총일경우 제대로 구현한다면 총알나가는거까지 구현해야되고 이럴경우에는 새롭게 코딩해야되는데

이럴경우 검이랑 총에 기본적인 아이템관련 코딩이 겹치는부분이 있더라도 상속을하는거보다 걍 둘다 코드따로 적는게 낫다는거지?

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180395 [잡담] 개인서버컴 조립해볼건데욥. 이렇게 구입해도 될까요? 내일까지 0 7 분 전 15
180394 [컴퓨터] kt giga buddy wifi (메쉬 와이파이) 쓰시는분 반포역4번출구 0 55 분 전 29
180393 [컴퓨터] 천만원 박았다 10 ᅠᅟᅠᅟᅟᅠᅟᅠ 0 1 시간 전 128
180392 [컴퓨터] 친구가 견적 알아봐달라는데 6 용사막 0 1 시간 전 54
180391 [컴퓨터] 이거 찍어먹어봐도 될까 chopin19 0 3 시간 전 84
180390 [잡담] 와 7900xtx 120만원이면 17 전기모기채는신이야 0 3 시간 전 219
180389 [모바일] 알뜰폰 메뚜기해야되는 달인데 언제 해야됨?? 4 IU 0 4 시간 전 117
180388 [컴퓨터] 단순 데이터 저장 목적이면 무슨 저장 장치가 제일 효율적임?? 16 해물잠봉 0 5 시간 전 127
180387 [잡담] 핸폰으로 chatgpt앱 써도 됨? 6 츄이로 0 7 시간 전 163
180386 [모바일] 혹시 스마트폰으로 와이파이 쓰면 인터넷 연결 안되는 이슈도... 3 스펙터 0 8 시간 전 79
180385 [잡담] 모니터 32인치는 뭔가 좀 계륵느낌임 20 화이트데이 0 10 시간 전 381
180384 [컴퓨터] 온디바이스 AI 관련 잘아는 개붕이 있음? 18 아카이브원 0 10 시간 전 163
180383 [견적] 70만원대 가성비 컴퓨터 이륙할려는데 괜찮나요? 8 리다실 0 10 시간 전 152
180382 [컴퓨터] PA602 케이스 쓰는 사람 있음? 공백지 0 11 시간 전 47
180381 [컴퓨터] FPGA 실무자분들 계신가요?? 1 Buck 0 14 시간 전 105
180380 [컴퓨터] cpu ghz 숫자 질문 6 해물잠봉 0 15 시간 전 144
180379 [프로그래밍] GPT가 코딩 다해주네 3 겜신병자 0 17 시간 전 466
180378 [컴퓨터] 개붕이 키보드 졸업했다 15 리밍 0 18 시간 전 271
180377 [잡담] 아니 인터넷 100mbps로 쓰고있었네 2 샤켓 0 20 시간 전 298
180376 [잡담] 스위치 사기 vs 스팀덱 사기 7 섭탱 0 21 시간 전 166