songtofu.log
로그인
songtofu.log
로그인
Part3) CH7. 합성과 집합
songtofu
·
2022년 12월 5일
팔로우
0
0
전문가를 위한 C
목록 보기
7/10
to-be관계 = 상속 (다음 장)
7.3) 합성
한 객체가 다른 객체를 포함하거나 소유할 떄, 즉 한 객체가 다른 객체로 구성될 떄, 이들 객체 사이에 합성 관계가 있다고 할 떄 사용.
컨테이너에 포함된 객체의 수명은 컨테이너 객체의 수명에 바인딩 된다.
포함된 객체의 수명은 컨테이너 객체에 의해 내부적으로 반드시 관리
합성관계 구현할 떄 포인터 유출 X. 유출되면, 포함된 객체의 상태를 외부 코드가 변경할 수 있음.
같은 자료형이 아닌 두 객체는 상대의 구현에 대한 세부 사항은 몰라야한다. = 정보 은닉에서 따라야하는 규칙
ex. 차와 엔진
7.4) 집합
다른 객체를 포함하는 컨테이너 객체를 동반. 컨테이너에 포함된 객체의 수명이 컨테이너 객체의 수명에 독립적이다.
집합 포인터 생성 시 설정되어야 한다면, 대상 객체의 주소를 생성자의 인수로 전달해야함. (의무적 집합)
집합 포인터가 생성자에서 NULL로 남아있을 수 있다면 선택적 집합.
집합 관계가 종료된 뒤 포인터를 NULL로 두어야함.
ex.player와 gun
집합 관계가 두 객체 사이에 일시적이라면, 객체에 해당하는 클래스 사이에서도 관계가 일시적? ㄴㄴㄴㄴ. 집합 관계는 클래스에서 영구적. 합성도 마찬가지로 영구적.
songtofu
읽으면 머리에 안들어와서 직접 쓰는 중. 잘못된 부분 지적 대환영
팔로우
이전 포스트
Part3) CH6. OOP와 캡슐화
다음 포스트
Part3) CH8. 상속과 다형성
0개의 댓글
댓글 작성