연관 관계 2

[C++] 65. 연관(ASSOCIATION) 관계

[C++] 연관(ASSOCIATION) 관계 연관 관계는 명령 개체와 피 명령 개체가 명확하지 않은 관계입니다. 프로그램에서는 연관 관계로 표현하지 말고 직접 연관 관계로 표현하는 것이 안전합니다. 연관 관계는 약사와 의사처럼 “약사와 의사는 환자 치료에 연관이 있다.”와 같이 수평적인 관계입니다. 의사는 환자 치료를 위해 어떠한 약을 처방받아 먹고 있는지 알 수 있어야 합니다. 또한 약사는 약을 조재하기 위해서는 의사의 처방이 필요합니다. 그런데 이와 같은 관계에서 프로그램을 잘못 작성하여 버그가 날 위험이 많습니다. 예를 들어 의사의 “치료하다” 기능에서 약사의 “조재하다”를 호출하게 구현하고 약사의 “조재하다” 기능에서 의사의 “치료하다”를 호출한다면 스택 오버 플로우가 발생할 것입니다. 물론 주의..

[C++] 61. 클래스 간의 관계

[C++] 클래스 간의 관계 이번에는 프로그래밍할 때 개발자가 정의하는 형식과 형식 사이에 관계를 알아보기로 합시다. 여기에서는 UML에서의 클래스 다이어그램에 표현할 수 있는 관계를 기준으로 표현할게요. UML에서 클래스 사이의 관계는 7 가지로 표현할 수 있습니다. 일반화(Generalization) 관계: “피아니스트는 음악가이다.” 집합(Aggregation) 관계: “필통은 연필들과 지우개 등을 보관할 수 있다.” 구성(Composition) 관계: “사람은 눈과 귀 등을 가지고 태어난다.” 직접 연관(Directed Association) 관계: “고용주는 피고용주에게 일을 시킨다.” 연관(Association) 관계: “의사와 약사는 환자 치료에 상호 연관이 있다.” 의존(Dependency..