반응형
1. 객체 간의 관계
1) UML
- UML을 사용하여 클래스 다이어그램(Class Diagram)으로 표현
- Unified Modeling Language
- 표준화된 모델링 언어
- 클래스와 클래스의 관계를 설게하는 언어
- 클래스다이어그램은 클래스와 클래스를 선으로 표시
2) starUML (설계도구)
- UML언어를 통해 객체지향 설계하는 도구
- like 자바 = 이클립스
- 설계 후 클래스가 자동으로 만들어진다!
- 반대로 자바로 작성하면 자동으로 다이어그램이 생성된다!
3) 클래스 다이어그램
- 객체 관계들을 그림으로 표시
- 설계도를 보면서 익힌다는 것은 프로그래머 6~7년차 고급 엔지니어가 되면 가능
2. 클래스와 클래스의 관계 (객체 관계)
- 관계를 맺으면 메소드를 호출할 수 있다!!
- UML을 사용하여 클래스 다이어그램(Class Diagram)으로 표현
1) 일반화 관계(Generalization)
- 상속 관계(is a 관계)
- 클래스 선언시 기존 클래스를 상속받아 작성
- 사원클래스와 관리자클래스
- 관리자는 사원이다.(O)
- 사원은 관리자이다(X)
2) 실체화 관계(Realization)
- 상속 관계(is a 관계) - only자바
- 클래스 선언시 인터페이스를 상속받아 작성
- 인터페이스 : 클래스보다 추상적으로 표현된 자료형
3. 연관관계(Association) 또는 직접연관관계(Direct Association)
- 포함 관계(has a 관계)
- 클래스 선언시 필드를 참조변수로 선언하여 객체를 저장한 관계
- Computer <--- CPU + MainBoard + Memory
4. 집합연관관계(Aggregation)
- 포함관계의 객체간의 생명주기가 다른 경우
- Computer --- Printer
5. 복합연관관계(Composition)
- 포함관계의 객체간의 생명주기가 같은 경우
- Game --- Character
6. 의존관계(Dependency)
- 포함관계
- 참조필드에 저장된 객체가 변경될 수 있는 관계
- TV --- RemoteControl
크게 말하면 상속관계(inheritance) : is A vs 포함관계(association) : has A
- 크게 2가지로만 생각하자!
- 상속관계 : is A (A = 부모)
- 포함관계 : has A ( A = 작은개념)
반응형
'java > inheritance' 카테고리의 다른 글
[inheritance] 6. 학원인적자원관리 ERP프로그램 (AcademyApp) (2) | 2024.04.23 |
---|---|
[inheritance] 5. 메소드 오버라이드(Method override) (0) | 2024.04.22 |
[inheritance] 4. super키워드의 개념 (0) | 2024.04.21 |
[inheritance] 3. 참조변수와 객체와의 관계 (0) | 2024.04.21 |
[inheritance] 2. 포함관계예시 VS 상속관계예시 (0) | 2024.04.20 |