학원 선생이 '서로가 서로를 몰라야한다'라고 말씀하셨거든
이게 캡슐화인지...암튼 엄청 기초적인 부분이니까 답답해도  화내지마셈...

이게 참 무식한 질문인거 나도 아는데...
예를 들어서 Bullet 클래스가 있고 Gun 클래스가 있음.

Bullet은 앞으로 나아가는 Fire 함수를 가지고 있고,
Gun은 키보드 입력을 받을 때 자기가 가지고 있는 Bullet 스택에서 팝하면서 총알을 한발씩 쏘는데

이 발사에 쓰이는 함수에 bullet.Fire()같은 걸 써버리면 이제 Gun클래스는 Bullet 클래스를 명확하게 지목하고 있으니...이러면 안되는거 아님?

근데 애초에 또 시작부터 Gun클래스가 Bullet스택을 가지고 있는 것 부터가 또 좀 그렇지 않나??

그럼 Gun클래스는 그냥 '무언가'의 '어떤 함수'를 호출해야하는건데...이거 너무 아득한것같음...

그렇다고 제네릭을 쓴다고 하면...모든 코드에 다 제네릭을 쓸 수는 없잖음...


도대체 서로가 서로를 몰라야한다는건 어떤 기준인지 궁금함...