정보처리가사 UML 관계 암기하기(feat.구조다이어그램)
UML 문제 유형
uml의 문제 유형은 사물은 거의 나오지 않습니다.
관계나 다이어그램에 대한 문제가 나오는데, 난이도가 쉽게 나올 때는 어떤 관계인지 묻거나 정적(구조) 다이어그램인지, 동적(행위) 다이어그램인지 묻는 문제가 나옵니다.
최신 정보처리기사 출제 유형을 보면, 다이어그램 각각에 대한 문제가 나올때가 있으며, Use Case Diagram에 대해 나올 때도 있습니다.
UML 관계 암기 하기
관계(relationship)을 암기 할때는 무엇을 의미하는지, 영문명은 뭔지, 표기는 어떻게 되는지 아는 것이 중요합니다.
! 꿀팁 : 화살표와 마름모가 차있는지 아닌지에 따라 2개씩 그룹화할 수 있습니다
직선 -▷ 일반화(Generaliztion), -▶ 연관관계 (Association)
-▷ 일반화는 상위개념으로 화살표, 상속관계
-▶ 연관관계는 관련된 기능을 사용할 때
점선 --▷실체화(Realization) 관계, ▶의존(Dependency)관계
--▷ 실체화 관계는 인터페이스를 구현받아 추상 메서드를 오버라이딩하는 것을 의미,다른 객체에게 오퍼레이션을 수행하도록 지정
오버 라이딩이란?
오버라이딩은 부모 클래스에서 이미 정의된 메서드를 자식 클래스에서 동일한 이름의 메서드로 다시 정의하는 것
!잠깐 오버로딩은 같은 이름의 메서드를 여러 개 정의하는 것
--▶ 의존관계는 연관관계와 유사하지만, 두 클래스 관계가 한 메서드를 실행하는 동안, 아주 짧은 시간 동안만 유지, 한 글캐스의 명세가 바뀌면 다른 클래스에 영향을 줌, 다른 클래스를 오퍼레이션 매개변수로 사용
직선 -◇ 집합-집약(Aggregation) 관계, -◆집합-합성(Composition)관계
-◇ 집합-집약 관계는 한 객체가 다른 객체를 소유하는 'has a' 관계, 부분 객체의 라이프타임은 독립적, 전체 객체가 사라져도 부분객체는 사라지지 않은
-◆집합-합성(포함)관계는 부분 객체가 전체 객체에 속하는 관계로 긴밀한 필수적 관계, 라이프 타임 의존적, 전체 객체가 사라지면 부분객체도 사라짐
관계 | 설명 | 화살표 기호 |
연관(Association) | 사물들 간의 연결을 나타냅니다. 서로 다른 클래스 또는 객체 간의 관계를 나타내며, 보통 양방향으로 표현됩니다. 양 끝의 끝점이 화살표로 표현되어 있습니다. | -▶ |
일반화(Generalization) | 클래스 간의 상속 관계를 나타냅니다. 보다 추상화된 상위 클래스와 이를 상속받는 하위 클래스 간의 관계를 표현합니다. 화살표가 비어있으며, 상위 클래스를 가리키는 방향으로 표시됩니다. | -▷ |
집합(Aggregation) | 포함되는 관계로, 상위 객체와 하위 객체 간의 포함 관계를 나타냅니다. 상위 객체가 존재하지 않더라도 하위 객체는 독립적으로 존재할 수 있습니다. 빈 마름모로 표현되며, 상위 객체에서 하위 객체를 포함하는 것을 의미합니다. | -◇ |
포함(Composition) | 집합 관계의 한 종류로, 상위 객체와 하위 객체 간의 강한 종속 관계를 나타냅니다. 상위 객체가 존재하지 않으면 하위 객체도 존재하지 않습니다. 꽉 찬 마름모로 표현되며, 상위 객체에서 하위 객체를 포함하고 있음을 나타냅니다. | -◆ |
의존(Dependency) | 하나의 클래스나 객체가 다른 클래스나 객체에 종속적인 관계를 나타냅니다. 한 객체의 변경이 다른 객체에 영향을 줄 수 있음을 의미합니다. 점선으로 표시되며, 의존하는 객체가 화살표를 향해 표시됩니다. | --▶ |
실체화(Realization) | 인터페이스와 구현체 간의 관계를 나타냅니다. 한 클래스가 인터페이스를 실체화하여 해당 인터페이스의 기능을 구현함을 나타냅니다. 점선으로 표시되며, 실체화되는 클래스가 화살표를 향해 표시됩니다. | --▷ |
다이어그램 암기 방법
꼭, 구조 다이어 그램과 행위 다이어그램의 종류부터 암기해야함
상세 내용에 대한 문제는 거의 다 행위 다이어그램 내에서 자주 출제 됩니다.
1. 구조, 행위 구분해서 암기
구조 다이어그램
2023.03.28 - [정보처리기사] - [정처기 실기] UML - 구조적 다이어그램을 이해하고 외우는 방법
다이어그램 | 설명 |
클래스(Class)* | 객체 지향 프로그래밍에서 사용되는 구조로, 객체의 속성과 동작을 정의합니다. |
객체(Object) | 클래스의 인스턴스로, 실제로 메모리에 할당된 데이터입니다. |
컴포넌트(Component) | 시스템을 구성하는 독립적인 구성 요소로, 재사용 가능한 소프트웨어 모듈입니다. |
배치(Batch) | 하드웨어나 소프트웨어 컴포넌트의 물리적 배치를 나타냅니다. |
복합체(Composite) | 객체나 컴포넌트의 복합체로, 여러 개의 하위 요소로 구성됩니다. |
패키지(Package) | 관련된 클래스나 컴포넌트를 그룹화하여 구조화된 형태로 관리하는 단위입니다. |
행위다이어그램
다이어그램 유형 | 설명 |
유스케이스 다이어그램(Use Case Diagram)* | 시스템의 기능적 요구사항을 모델링하고 시스템의 사용자 또는 외부 시스템과의 상호작용을 나타냅니다. |
시퀀스 다이어그램(Sequence Diagram) * | 객체 간의 상호작용을 시간 순서대로 표현하여 시스템의 동적인 동작을 모델링합니다. 주로 시스템의 시간적 흐름과 메시지 교환을 표현하는 데 사용됩니다. |
상태 다이어그램(State Diagram) | 시스템이 특정 상태에서 다른 상태로 전이되는 과정을 표현합니다. 각 상태에서 발생할 수 있는 이벤트와 이벤트에 따른 상태 변화를 보여줍니다. |
활동 다이어그램(Activity Diagram) | 시스템 내에서의 동작 흐름을 순서대로 보여주며, 프로세스나 작업의 수행 과정을 시각적으로 표현합니다. 주로 비즈니스 프로세스나 시스템의 동작 흐름을 모델링하는 데 사용됩니다. |
상호작용 다이어그램(Interaction Diagram) | 객체나 컴포넌트 간의 상호작용을 시각적으로 표현합니다. 주요 상호작용 다이어그램에는 시퀀스 다이어그램과 협력 다이어그램이 있습니다. |
타이밍 다이어그램(Timing Diagram) | 시간에 따른 객체들의 동작을 표현하고 객체들 간의 타이밍 관계를 나타냅니다. 시간의 흐름에 따른 객체의 상태 변화를 시각적으로 보여줍니다. |
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 네트워크 포트 번호 암기하기 (FEAT. UDP, FTP) (1) | 2024.02.17 |
---|---|
큐넷 CBT 체험하기 정보(feat.정보처리기사 필기) (2) | 2024.02.16 |
[정보처리기사] 응집도와 결합도 - 이건 꼭 알아야함 (0) | 2024.01.18 |
[소프트웨어 아키텍처] 2023년 실기 3회 예상문제 (0) | 2023.09.18 |
[정처기 실시] 프로젝트 계획 (0) | 2023.09.14 |
댓글