1. UML
UML은 Unified Modeling Language의 약자로, 직역 하자면 통합된 모델 언어
이런 UML을 사용하는 유형에는 아래 3가지 정도가 있다.
- 다른 사람들과의 의사소통 또는 설계 논의
- 전체 시스템의 구조 및 클래스의 의존성 파악
- 유지보수를 위한 설계의 back-end 문서
2.class 다이어 그램
UML은 구조 다이어그램 7개, 행위 다이어그램 7개로 총 14종류의 다이어그램이 있으며, 각 특징은 아래와 같다.
1. 구조 다이어그램 : 시스템의 개념, 관계 등의 측면에서 요소들을 나타내냄(정적)
2. 행위 다이어그램 : 요소들간의 변화나 흐름, 주고받는 데이터 등의 동작을 나타냄(동적)
이 중 클래스 다이어 그램은 구조 다이어 그램에 해당함.
클래스 다이어 그램은 클래스간의 관계나 의존성이나 구조 등에 대해 명확하게 보여줌.
3. class diagram 표기 형식
위 그림에서 최 상단 Person 은 클래스 명
그리고 그 아래 age, name, sex 는 변수.
그리고 그 아래 eat( ) 과 sleep( ) 은 메서드
그리고 변수와 메서드 앞에 표시된 기호들은 다음을 의미한다.
+ : public
- : private
# : protected
public class Person {
private int age;
public String name;
public String sex = "female";
public void eat(String food){}
private void sleep(){}
}
4. stereo Type(스테레오 타입)
스테레오 타입이란 UML에서 제공하는 기본 요소 외에 추가적인 확장요소를 나타내는 것으로
쌍 꺾쇠와 비슷하게 생긴 길러멧(guillemet, « ») 사이에 적는다.
스테레오 타입으로 많이 사용되는 것은 «interface», «utility», «abstract», «enumeration» 등이 있다.
표현 |
뜻 |
«interface» |
인터페이스 클래스 |
«abstract» |
추상화 클래스 |
«enumeration» |
열거형 타입 클래스 |
«utility» |
인스턴스가 없는 static 메서드만 모아둔 클래스 |
«create» |
생성자 |
«interface»
메소드 밑의 밑줄은 static(정적)필드 또는 메서드를 의미
public interface RemoteControl {
/*변수 선언*/
public int max_volume = 10;
public int min_volume = 0;
/*추상 메소드*/
public void setMute(boolean mute);
/*정적 메소드(자바8 부터)*/
public static void changeBattery(){
System.out.println("건전지를 교체 합니다.");
}
}
<<abstract>>
Phone(String) 옆의 «create» 는 생성자를 의미
public abstract class Phone {
public String owner;
//생성자
public Phone(String owner){
this.owner = owner;
}
public void turnOn(){
System.out.println(owner+"님의 폰 전원이 켜 집니다.");
}
public void turnOff(){
System.out.println(owner+"님의 폰 전원이 꺼 집니다.");
}
}
<<Utility>>
Utility 클래스는 객체화 되지 않고, 오직 static 함수만 모아놓은 클래스를 의미함
메소드 밑의 밑줄은 static(정적) 필드와 메서드를 의미
{readOnly}는 여기서 final 키워드를 사용하는 상수를 의미
public class Math {
public static final double PI = 3.14159;
public static double cos(double value){
return 0;
}
public static double sin(double value){
return 0;
}
}
'UML' 카테고리의 다른 글
UML 클래스 관계 (2) | 2019.05.18 |
---|