C++, 10.객체들 사이의 관계

이도현·2023년 8월 9일
0

1. 객체들의 관계

2. 구성관계(다른 헤더파일에서 클래스를 가져와 사용할 때)

  • 구성을 다른 클래스에 속하게 할 수 있지만, 다른 클래스에 사용된 구성(부품)은 다른 구성이라는 것을 인지하여야 한다.

  • 구성을 서브헤더파일로 저장하는 것을 습관하 하는 것을 권장한다.

3. 집합관계(하나의 멤버를 두 인스턴스에 사용할 때)

1) 첫번 째 방법
구성 관계에서 클래스의 멤버들의 주소를 불러오는 형식으로 바꾼다는 느낌
(이렇게 하게 되면 여러번 같은 이름의 멤버를 사용할 때 같은 주소로 가기 때문에 업데이트 시 같이 업데이트가 가능해진다.)
(그 대신 클래스를 사용할 때 멤버에 &를 사용해야 한다는 것을 유의해야 함.)

2) 두 번째 방법
동적할당으로 멤버들을 따로 선언
(이렇게 하면 포인터 오퍼레이터를 사용하지 않아도 되지만 딜리트를 해줘야하 하는 번거로움 존재)

4. 제휴관계

  • 두 클래스의 서로에게 속한 멤버들의 주소를 가지고 사용할 때 제휴관계라고 함.(클래스 자신이 자신을 멤버로 가져오는 경우도 포함.)

(전방선언을 하고 클래스 안의 함수를 바깥으로 꺼내 사용해야할 수도 있다.)

5. 의존관계

  • a 헤더파일의 클래스를 b 헤더파일의 클래스에서 이용하여 눈으로 a 헤더파일을 볼 때 횡해 보이지만 빠르고 좋은 코드가 되는 관계이다.

6. 컨테이너 클래스

  • 예를 들어 vector, array 등 이 있고 여러 container class 가 존재한다.

profile
좋은 지식 나누어요

0개의 댓글