클래스 다이어그램, Class Diagram

클래스 다이어그램은 주로 UML(Unified Modeling Language)이라는 형태로 그립니다.

UML은 프로그램 언어를 모르는 사람도 쉽게 이해할 수 있고, 다른 프로그램 언어에서도 공통으로 사용할 수 있도록 만든 언어라는 뜻입니다.

하지만, 역시나 현실에서는 프로그램을 모르는 사람은 UML의 뜻을 제대로 이해할 수 없고, 다른 프로그램 언어에서도 공통으로 사용하기에는 무리가 있는 표현 방식입니다.

UML은 자바에서는 꽤 유용하게 사용할 수 있지만, 그 역시도 처음 프로그램을 배울 때 유용하고, 실무에는 이런 것까지 그리면서 프로그램을 만들 여유가 없습니다. 하지만, 우리는 배우는 중이므로 의사소통에 꽤나 유용합니다.

클래스 다이어그램에 대한 내용은 일일이 다 적으면 내용이 많으므로, 아래에 좋은 블로그를 링크해 두었습니다. 한 번 쓱~ 읽어보시면 좋습니다.

UML 클래스 다이어그램 작성법

Book Class

책에 필요한 요소가 무엇이 있을까요? 그리고, 판매용 책이 아닌 도서관에 있는 책으로서 필요한 요소가 무엇일까요?
사람에 따라 여러 가지 의견이 있을 수 있고, 고객의 요구사항에 따라 또한 다를 것입니다. 그런 걸 결정하고, 개발자에게 개발을 맡기는 사람을 설계자라고 합니다. 설계자의 입장에서 저는 아래와 같은 상태요소가 필요할 것 같습니다.

  • ISBN
  • 제목
  • 저자
  • 페이지수
  • 대출상태(Y: 대출중/N: 입고)

또한, 대출상태를 변경하는 함수도 필요할 것 같습니다.

  • 대출( )

클래스 다이어그램

위에서 말한 내용을 참고하여 UML을 이용한 클래스 다이어그램을 아래와 같이 그릴 수 있습니다.

Book- ISBN: String- title:String- authNm: String- pageCount: int+ borrow() : String

Book 클래스 코딩

위에서 그린 UML을 참고로 하여, 아래와 같은 자바 클래스 코딩이 가능합니다.
단, 아직 borrow 메소드에 대한 정의가 부족하므로, TODO 코멘트로 남길 수 밖에 없고, 이후에 추가 개발이 필요한 상태로 남겨 둡니다.

public class Book {
	
	private String ISBN;
	private int page;
	private String title;
	private String authNm;
	
	public void borrow(String yn) {
		//TODO: 대출 서비스
	}
}

원래 설계서에서는 메소드에 대한 자세한 기술이 있어야 프로그래밍이 가능하며, 때로는 문서로 때로는 구두로 해당 기능을 알려주기도 합니다. 다만, 이번 포스팅에서는 UML을 이용하여 클래스를 개발할 수 있다는 예시를 보여주는 것으로 합니다.