1. 설계(UML 표기법)
2023. 8. 29. 14:51ㆍ설계
설계 : 객체의 이름을 정하고 그 객체와 객체 간의 관계를 표현(선)하는 것
* (명사) 객체 = 자판기, 동전, 상품, 상품 선택 버튼, 잔액 표시 화면 등
1. 자판기 1개는 1개의 동전통을 가진다.
2. 1개의 자판기는 여러개의 상품케이스를 가진다.
3. 1개의 상품케이스는 여러개의 상품을 가진다
4. 1개의 자판기는 1개의 상품배출기를 가진다.
5. 1개의 상품배출기는 1개의 상품 케이스를 이용한다. (이용할 땐 점선 사용)
* (동사) 메소드 = 자판기 동작 순서
1. 동전 넣기
2. 현재 잔액 보여주기
3. 상품 선택 버튼 누르기
4. 상품을 준다.
<UML표기법>
Japangi | 클래스 이름 |
- coin : int | 속성 |
+ putCoin(int) :int + showAmount(int) :int + clickButton(string) :string + giveProduct(string) :void |
메소드 |
=> UML 읽는 법
1. 클래스 표기 형식
+ public
- : private
# : protected
2. 변수, 메소드명(변수 타입)
3. :리턴 타입
Japangi.java
public class Japangi {
private int amount;
//동전을 넣는다.
public int putCoin(int coin) {
this.showAmount(coin);
return coin;
}
//현재 잔액을 보여준다.
public int showAmount(int coin) {
this.amount += coin;
System.out.println("현재 잔액은 "+ this.amount+"입니다.");
return this.amount;
}
//버튼을 누른다.
public String clickButton(String product) {
System.out.println( product+"를 선택하였습니다.");
return product;
}
//상품을 준다.
public void giveProduct(String product) {
System.out.println("선택한 상품"+ product+"가 나왔습니다.");
}
}
JapangiTest.java
public class JapangiTest {
public static void main(String[] args){
Japangi j = new Japangi();
j.putCoin(1000);
j.putCoin(2000);
String product = j.clickButton("코카콜라");
if( ! product.isEmpty() )
j.giveProduct(product);
else
System.out.println( product+"의 재고가 없습니다.");
}
}