학교에서 과제로 api 써서 c++ 로 게임 만들고 있습니다.
메인 클래스에서 다른 클래스들의 객체를 구현시켜서 만들고 있는데요.
제가 알기로는 c처럼 메인 안에는 많은 코드를 두면 안된다 생각해서 최대한 메인에 적게 코드를 둘려고 하고 있습니다.
그래서 구현할려고 하는 클래스 안에 다른 클래스의 객체를 구현시켜서 만들고 있었는데요.
근데 하다가 헤더파일이 꼬여서 되게 고생을 했는데요. 찾아보니까
클래스간의 연관성을 낮게 해야지 좋다고 하는데 솔직히 말해서 이게 무슨 말인지 잘 모르겠는데;;
제가 해석하기로는 한 클래스안에 다른 클래스의 헤더 파일이 너무 많이 인클루드 되면 연관성이 높아져서 안좋다...
헤더 파일을 줄이면 메인 클래스안에 객체를 추가로 구현해야되는데 이게 맞는건지 안 맞는건지 모르겠네요 ㅠㅠ
프갤러님들은 어떤 방법이 맞는 것 같은신가요? 아니면 다른 방법이 있으시면 귀뜸이라도 ㅠㅠ
클래스간 연관성 낮추는 건 구체 클래스에 대한 참조는 꼭 필요한 곳에만 있어야 되고... 인터페이스에 의존하여 설계하고... 뭐 그런 거 아닌가
연관성 == 강결합 뭔소리인고 하니 가각 class가 변경되도 다른 class에는 최소한 영향이 가도록 구조를 잡는건데 애초에 그렇게 코딩 하는것 자체는 힘듬, 코딩을 어느정도 해야 머리속으로 그려짐
'클래스간의 연관성' 이야기는 C++의 미개한 헤더 같은 거 안 쓰는 OOP 언어에서도 언급되는 주제에요
사실 TDD를 하면 자연스럽게 됨 TDD 만만세
헤더 연관성은 걍 속편하게 #pragma once 써버렷
위에서 언급한 인터페이스가 좋은 예인데 파라미터랑 리턴타입만 정해놓는다면 나중에 해당 인터페이스 상속받은 애들이 로직이 어떻든 간에 그놈을 사용하는 애들은 변경될 필요가 없음 근데 리턴타입 파라미터 갯수를 수시로 바꾸면 알쥐? 전반적으로 어느정도 이부분은 이렇게 짠다 할 정도 설계를 그려놓고 들어가야함
123//되도->돼도 [리듬 맞춤법 봇♬]