highJAVA

클래스다이어그램

unemo 2020. 12. 4. 15:00
반응형

클래스다이어그램 작성법

UML : unified modeling language : 시스템을 모델로 표현해주는 대표적인 모델링 언어

모델링? 설계단계에 사용하는느낌이 들어야한다.

uml을 이용하면 설계하느 ㄴ시점에 의미있는것을 많이 만들어낼수잇음

uml의 특징 : 언어종속적인 아님. 어제배운 유즈케이스도 uml이 제공해주는랭귀지인거임

클래스다이어그램도 uml이 제공해주는 랭퀴지으 ㅣ한아니거임

UML을 설계하면 자바언어만을 위한 설계가 되는게아니고 객쳊지향언어에 맞게설계한거임

이걸가지고 기본적인 코드도 만들어낼수있음 객체지향의 어떤언어든지..

자바를 몰라도 설계할수있단말임

언어에 종속적이지 않은 설계를 할수있음

 

클래스다이어그램이란

시스템의 정적인면을 보여주는 UML랭귀지

목적: 시스템을 구성하는 클래들의 관계를표현

 

우리들이 클래스를ㄹ 설꼐함, 그 만들어진클래스들간의 관계도 설정.. <이게 우리가할 일

 

클래스이름
속성`1
속성2 (자바에서는 멤버변수)
연산1()
연산2()(자바에서는 메서드이름)
연산은 영어로 operation

+는 퍼블릭 -는 프라이빗 #는 프로텍티드, ~는 패키지(=디폴트)

 

Course

-id:String

-name:String

+addStudent(student:Student):void

 

클래스간으 ㅣ관계도 그려줄수있음

 


연관관계 : Assosiation 
그냥 관련있다는 뜻임  실선이나 화살표
일반화관계 generalization 상속관계 표현하고싶을때 속이빈화살표
집합관계 집약관계aggregation 전체와 부분
파라미터로 받아서 생성자에서 넣어주기떄문에 그 클래스 삭제해도 부속품들이 사라지지않음
컴퓨터가 메모리에서 사라지더래도 부속품은다른데서 쓰일수있따는점 강조할때 집약관계
속이빈다이아몬드
합성관계
composition
생성자의 파라미터로 받지않고 생성자호출된시점에 new해서 만든다 그니까 그 만든클래스안에서만 의미가잇고 삭제하믄 사라진다 컴터와 부속품은 생명주기를 함꼐한다.
컴터와 부속품처럼 컴터없으면 부속품도없음..이런 관계강조할떄 합성관계
속이 찬 다이아몬드
의존관계 연관관계와 비교할수잇음
연관관계는 사람이 차를 가지고있따. person과 car는 연관관계에있다.
의존관계는 짧은시간 이용하는 관계
자동차과 주유기의 관계
점선
     

 

인터페이스와 실체화 관계

<<interface>>
Flyable

를 plane클래스와 bird클래스가 점선,(실체화관계), 속빈화살표 로 가리킨다

flable를 plane과 bird가 실체화시키는 클래스이다.

선이 잘 안보일수잇으니까 <<interface라는 스테레오타입문법으로 의미명확하게해주는거임

디자인의 메인을 더블클릭

 

 

 

자동차는 가스펌프와 의존관계니까 dependency

선 클릭하고 우측에 properties탭에 1..0이런거 설정할수잇따.

 

none으로 하면 모양이 익숙하게바뀐다

디자인모델 -> 디폴트 -> 계속넥스트

 

코드가 다 생긴다

static변수는 어케표현하느냐?

밑줄이 static의 의미임

 

 

제러널레이션알아두고,, 인터페이스를 구현할때는 리얼라이제이션

 

반응형

'highJAVA' 카테고리의 다른 글

네트워크2  (0) 2020.12.16
JAVA IO  (0) 2020.12.04
log4J, 유즈케이스다이어그램  (1) 2020.12.03
Ibatis  (1) 2020.12.02
mvc, singleton  (0) 2020.12.01