카테고리 없음

내일배움캠프 25일차 TIL 6주차 팀프로젝트 - 벽돌깨기4

joseph2518 2024. 10. 18. 21:59

20241018 / Unity_6차  6주차 금요일

 

 

 

오늘 보스전을 만들며 이번 주차를 마무리했다.

 

처음 만난 코딩력 충만한 조인 만큼 이제 일 그만 만들고 마무리를 잘 지어야겠다.

 

물론 보스 파괴 모션까지는 욕심을 낼 거다.

 

보스가 디버프 아이템을 뿌리는 모습

 

보스전 전용 규칙을 만들기 위해

BossSceneManager는 InGameManager를 상속받고

BlockContainerForBoss는 BlockContainer를 상속받는 구조로 만들었다.

 

처음에는 클래스 따로 만들고 코드 복사 붙여넣기 해서 편집하는게 더 쉬워서 그렇게 했는데

그래도 상속을 배웠으니 활용해 보자는 생각이 들어서 중간에 바꿨다.

 

부모와 자식이 완전히 같은 동작을 하는 부분은 자식 클래스에 다시 쓰지 않는 것을 기본으로

public 멤버 역시 자식 클래스에 다시 쓰지 않고,

자식 클래스에서 쓰지 않을 멤버는 private,

자식에서도 쓸 멤버는 protected,

자식에서 덧씌우고 싶은 메서드는 virtual-override,

기본에 충실해서 키워드를 사용하니 상속도 나름 쉬웠다.

 

만약 상속을 쓰지 않았다면 시간이 지나 코드가 쌓였을 때

BossSceneManager와 InGameManager는 다른 노선도 같은 노선도 아닌 애매한 관계가 되어

공통적으로 기능을 추가할 때 생각을 2배로 해야 했을 것이다.

 

상속을 하면 공통된 부분, 다른 부분 확실하게 구분되어있으며 또 그게 한눈에 보인다.

 

 

 

모든 코딩은 결국 스파게티 코딩으로 귀결된다.

 

하지만 상속을 활용하지 않으면 한계가 훨씬 이른 타이밍에 온다는 것을,

이전 직장생활에서도 몰랐던 것을 이제는 알 것 같다.