본문 바로가기
자격증

정보처리기사 실기 정리& 요약 - 클래스(Class) 다이어그램_⭐

by 경이 Kyung I 2020. 5. 3.
반응형

*은 개인적으로 외우는 방식으로 개인적 의견입니다.

정리 혹은 급한 경우에 참고하세요.

제목에 ⭐이 있으면 해당 내용 꼭 외우세요 시험에 잘나옵니다.

정적 모델링의 개념

- 사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적인 구조를 표현한 것

-정적 모델링은 객체들은 클래스로 추상화하여 표현한다.

클래스(Class) 다이어그램

1. 개념

- 시스템을 구성하는 클래스, 클래스의 특성인 속성과 오퍼레이션, 속성과 오퍼레이션에 대한 제약조건, 클래스 사이의 관계를 표현한 것이다.

- 코딩에 필요한 객체의 속성, 함수 등의 정보를 잘 표현하고 있어 시스템을 모델링하는데 자주 사용된다.

- 클래스 다이어그램은 클래스, 제약조건, 관계 등으로 구성된다.

예제) 프로야구 리그에 필요한 정보의 일부를 표현한 클래스 다이어그램입니다.

- 리그에는 10개의 팀이 참가한다.

- 리그는 한개 이상의 경기장에서 경기가 진행된다.

- 매 경기는 두 팀이 진행하며 두팀은 한번 이상의 경기를 진행한다.

- 한 팀에는 한명 이상의 선수가 있다.

- 한 경기장에서는 한 경기 이상이 진행되며 경기는 여러 경기장에서 진행된다.

- 한 팀에서 최소 9명 이상의 선수가 한 경기에 출전하며, 경기에 출전하지 못하는 선수도 있고 여러경기에 출전하는 선수도 있다.

- 선수는 주전선수와 후보선수가 있다.

- 선수의 경력은 0보다 큰 값이 입력되어야 한다,

- 승점이 5 이상인 선수들은 연봉을 조정할 수 있으며, 연봉은 승점만큼 증가한다.

2. 클래스(Class)

- 클래스는 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현한다.

- 속성이나 오퍼레이션은 생략할 수 있지만 이름은 반드시 명시해야 한다.

- 속성이나 오퍼레이션이 생략된 경우에는 구획선을 그리지 않아도 된다.

 

클래스 이름 : 야구선수

속성: - 선수코드: String

- 이름: String

- 포지션: String[2]

- 경기수: Int=0

-경력 : Int{경력 > 0}

#승점 : Int

오퍼레이션: +연봉조정(승점:Int) : Int

* 속성이랑 오퍼레이션 표현 외우기!!

 

 

야구선수 클래스의 Java 코드 표현 입니다.

Class 야구선수 {
Private String 선수코드; 
Private String 이름;
Private String[] 포지션 = new String[2];
Private Int 경기수 = 0;
Private Int 경력;
Protected Int 승점;

public Int 연봉조정(Int 승점);
}

 

 

 

 

 

 

속성(Attribute)

- 속성은 클래스의 상태나 정보를 표현한다.

[접근제어자]속성명 : 자료형 [다중성] [=초기값]

- 접근제어자 : 속성과 오퍼레이션을 어느 정도 까지 클래스 외부에 노출시킬지를 제어한다.

- 속성명 : 속성의 이름으로 사용자가 임의로 작성한다.

- 자료형 : UML에서 기본적으로 제공하는 자료셩 또는 사용자가 필요에 의해 새롭게 정의한 자료형을 사용할 수 있다.

- 다중성 : 동일한 속성명으로 여러 개의 속성 값을 가질 수 있는 것으로 배열과 같은 의미이다.

- 초기값 : 데이터를 입력하지 않았을 때 기본적으로 입력되는 값을 지정한다.

접근제어자

접근제어자

표현법

내용

public

+

어떤 클래스에서라도 접근이 가능합니다.

private

-

해당 클래스 내부에서만 접근이 가능합니다.

protected

#

동일 패키지 내의 클래스 또는 해당 클래스를 상속 받은 외부 패키지의 클래스의 접근이 가능합니다.

package

~

동일 패키지 내부에 있는 클래스에서만 접근이 가능합니다.

자료형

종류

자료형

문자형

String

정수형

Integer, Int

자연수

UnlimitedNatural

논리형

Boolean

실수형

Real, Float

*접근제어자, 자료형은 기본으로 외우기

 

 

오퍼레이션(Operation, 연산)

- 오퍼레이션은 클래스가 수행할 수 있는 동작으로 함수라고도 한다.

[접근제어자]오퍼레이션명(매개변수1 : 자료형1, 매개변수2: 자료형2,...): 반환자료형

- 오퍼레이션명 : 오퍼레이션의 이름으로, 사용자가 임의로 작성한다.

- 매개변수 : 오퍼레이션으로 어떤 작업을 할 때 해당 오퍼레이션 수행에 필요한 값을 전달하기 위해 사용된다.

- 반환자료형 : 오퍼레이션 수행 후 반환되는 값에 대한 자료형으로 반환되는 값이 없으면 반환자료형을 Void로 지정한다.

3. 제약조건

- 속성에 입력될 값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정해야 할 조건이 있다며 이를 적는다.

- 주석 도형안에 제약조건을 적은 후 제야고건이 적용될 속성이나 오퍼레이션을 점선으로 연결한다.

- 클래스안에 제약조건을 적을 때는 중괄호 {}를 이용한다.

4. 관계(Relationships)

- 관계는 클래스와 클래스 사이의 연관성을 표현한다.

- 관계에 참여하는 객체의 수를 연관관계 선 위에 표기한다.

- 클래스 다이어그램에 표현하는 관계에는 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계

연관(Relationships) 관계 - 두 클래스 간의 관계를 명확하게 표현하기 위해 관계 표현 실선의 중간 지점에 관계의 이름을 표현할 수 있다. (실전 + > , 실선으로 표현)

집합(Aggregation) 관계 - 두 클래스가 서로 집합 관계에 있을때는 집합 관계에 있는 클래스의 객체 변수를 매개변후로 사용 할수 있다. (빈마름모 + 실선으로 표현)

포함(Composition) 관계 - 두 클래스가 서로 포함 관계에 있을때는 포함 관계에 있는 클래스를 이용하여 생성된 객체 변수를 이용하여 새로운 객체 변수를 생성할 수 있다. (색이 채워져 있는 마름모 + 실선으로 표현)

일반화(Generalization) 관계 - 두 클래스가 서로 일반화 관계에 있을 때는 하위 클래스가 상위 클래스의 속성이나 메소드를 사용할 수 있다. (빈 삼각형 + 실선으로 표현)

의존(Dependency) 관계 - 두 클래스가 의존 관계에 있을 때는 영향을 주는 클래스의 특정 오퍼레이션이 수행 될때만 영향을 받는 클래스가 사용된다. (실선 + >)

* 관계 표현 할줄 알아야함

 

 

 

관계를 표현할려면 UML의 다중도도 같이 표기 해야하므로 아래 링크에 있는 다중도 표현방식을 참고하세요!!

 

https://kyungi.tistory.com/13

 

정보처리기사 실기 정리& 요약 - UML_⭐

*은 개인적으로 외우는 방식으로 개인적 의견입니다. 정리 혹은 급한 경우에 참고하세요. 제목에 ⭐이 있으면 해당 내용 꼭 외우세요 시험에 잘나옵니다. ​ ​ UML(Unified Modeling Language) - UML은 시스템 분..

kyungi.tistory.com

 

 

 

 

 

 

 

 

 

 

 

본 포스팅은 시나공을 기준으로 개인적인 정리본 으로 kyung i 에게 글에 대한 모든 저작권이 있으며 무단으로 사용 및 배포시 법적인 책임​을 받을 수 있습을 알려드립니다

반응형

댓글