A가 B를 참조하고 B가 A를 참조하는 그런 상황..
C++에서는 포인터와 전방선언으로 해결가능하고
자바에서는 빈번하게 쓰인다만,
이것은 객체들의 관계를 타이트하게 만들어주기 때문에 이렇게 만드는건 나쁜 설계라네.
그래서 사용되는 방법이 대충 두가지가 생각나는데
첫번째는
B는 여러가지 접근 메소드를 가지고 A는 B 메소드를 관찰하며 B의 상태변화에 따라 A도 적절하게 바꿔주는것.
두번째는
A는 B에 인터페이스로 넘기고 B에서는 인터페이스에 상태변화에 따라 알려주는것. 대충 옵저버 패턴이지.
뭐 어떤방식으로 만드느냐는 각자 마음이지만 개인적으로는 첫번째는 객체에 쓸데없는 메소드가 많아진다는 단점이 있어서..
두번째를 선호하지만...
ps. 객체 설계할 때 상호 참조 많이들 쓰시나여?
옵저버만 잘 써도 상호참조가 나타날 일이 없죠
짤 저게 뭐하는 짓임??? 설마 발에 음식 놓고 먹는거임? 변태?
A가 B메소드를 관찰한다는 것이 어떤건가요??