2013년 4월 2일 화요일

[UML] ClassDiagram (클래스 다이어그램)

ClassDiagram을 구체적으로 설명 한다기 보다는 실무에서 쓰는 정도와 개념에 대해 설명 하겠습니다.

ClassDiagram이란?
: 소스코드에 나타나는 클래스 사이의 의존 관계를 표기한 Diagram이다.


Class (클래스)
◆ 일반 클래스

public class Dialer{

}



public class Dialer{
     private Vector digits;
     private int nDigits;
     public void digit(int n);
     protected boolean recordDigit(int n):
}


둘 중 어떤 방식을 사용 해도 상관 없으나 단순 클래스의 연관을 표현 할려고 하면 Class명만 사용하여 연관 관계를 표시하는게 더 직관적이며 눈에 잘 들어 옵니다.

◆ 추상 클래스

public abstract class shape{
     private Point itsAnchorPoint;
     public abstract void draw();
}









추상 클래스는 Class명을 이텔릭체로 쓰거나 {abstract}라고 명시해 주면 됩니다.

  • ClassDiagram 기호 및 구조
    • 기호
      • Class 안의 기호 중에 -, +, # 을 볼 수 있습니다..
        • 대시 (-): private
        • 더하기 (+) : public
        • 해시 (#) : protected
    • 구조
      • 제일 상단은 클래스 이름.
      • 두번째는 변수타입 및 변수명.
      • 세번째는 메소드 타입 및 메소드 명.
◆ 내부 클래스

public class A{
     private class B{
     }
}




◆ 익명 내부 클래스

public Class A{
     public void c(){
          new B().start();
     }
}



◆연관


public class phone{
     private Button itspnos;
}





Phone Class에 Button을 가지고 있다는 표현입니다..
여기서 *는 버튼이 여러개일 수 있다는 의미 이며 * 대신 10, 20 등과 같이 숫자로 표현 할 수 도 있습니다.

◆상속


public class Employee{
   . . .
}





public class SalariedEmployee extends Employee{
   . . .
}
SalariedEmpoloyee Class는 Employee Class를 상속하는 모습입니다.
연관과 상속의 차이점은 화살표 모양입니다. 또한 일반적으로 상속은 위 아래로 표현하며 연관은 좌우로 표현합니다.

interface 표시는 아래 그림 중 하나를 선택해서 표시하면 됩니다.


Class Diagram에는 더 많은 기능과 기호들이 있습니다. UML 전문가가 되려면 이 외에 많은 기능들을 알아야되나 실무에서 사용하는 정도로는 이정도만 알고 있으면 되지 않을까 싶습니다. 사실 이 이상 사용할 일은 거의 없다고 생각됩니다. 

댓글 1개: