자꾸 UML 관계들이 헷갈려서 본인의 이해 수준으로 정리.
객체는 서로의 기능을 사용하며 관계를 갖는다.
다른 객체의 기능을 사용하려면 ???
객체 내부에서 기능을 사용할 객체를 다룰 수 있어야 한다.
그러기 위해 다음과 같은 행동을 할 수 있다.
////////////////
필드 : 필드에 다른 객체를 간직하고 사용하기 = 오랜 관계
ㄴ.생성자에서 필드를 초기화 하는 두가지 방법
①다른 객체를 생성자에서 직접 생성 = 라이프 싸이클이 같다.
②외부에서 주입 받기 = 라이프 싸이클이 다르다.
메소드 : 메소드 내부에서 다른 객체를 직접 생성하거나, 외부에서 파라미터로 주입 받기 = 메소드가 끝나면 버릴 관계
////////////////
생성자에서 다른 객체를 직접 생성하여 필드로 간직하거나
생성자에서 다른 객체를 주입 받아 필드로 간직하거나
메소드에서 다른 객체를 직접 생성하여 사용하고 버리거나
메소드에서 다른 객체를 주입 받아 사용하고 버릴 수 있다.
필드로 간직하는 건 기능을 사용하고도 연관 관계가 남아있다. -Association
메소드에서 쓰고 버리는 건 잠깐 의존하고 마는 것이다. -Dependency
필드로 간직하는 건 연관 관계
메소드에서 쓰고 버리는건 의존 관계
필드로 간직하는데 간직하는 객체를 생성자에서 직접 생성하여
라이프싸이클이 같아진다면? Composition,
라이프싸이클이 같아 더 진한 관계이기에 마름모가 진하게 검은색이다.
필드로 간직하는데 간직하는 객체를 생성자에서 주입받아
라이프싸이클이 다르다면? Aggregation
'개발 > 개발관련' 카테고리의 다른 글
[개발관련] cmd 출력을 txt 파일로 저장하기, 서버 점검 자동 메일 발송 관련 아이디어. (0) | 2023.04.14 |
---|---|
[개발관련] MimeType (0) | 2023.04.13 |
[개발관련] mobaXterm 로컬과 원격서버 파일 송수신 방법 (0) | 2023.04.11 |
[개발관련] mobaXterm 원격 접속 방식 (0) | 2023.04.11 |
[개발관련] 서버는 무엇일까 (0) | 2023.04.06 |