class Name{
private name;
private Adresss address;
}
class Address{
private String postalCOde;
private String name;
private String detailName;
public String detailFullName(){
return name+detailName;
}
}
//기본주소 +상세주소
//풀네임 주소
//어째서 하나의 클래스에 다 쓰지 않고 클래스 두 개로 나눠서 쓰느냐
객체는 실세계를 모방하는 것이 아니고 창조하는 것이다
객체지향 설계의 핵심
메시지 : 객체들이 협력하며 목표를 달성해나가는 과정
협력 : 객체들 간의 관계
역할과 책임
밀가루가클래스 있고 틀 클래스 있고 밑에 불클래스가있는데
밀가루가 틀에 들어간다메세지를 보내고 틀이 준비됬으니 들어오라 메시지 답변을 보내고
틀이 불에 불을 틀라고 메시지를 보내고 불이 라았다고 메시지를 보내면서 작동하고
틀이 완성 되었다며 붕어빵을 완성됬다는 메시지를 보내는 것으로 끝나는 것이다.
역할과 책임, 협력(+메시지)
각 객체들은 역할과 책임이 주어진다.
협력 요청 응답
고객 -> 커피 주문 - > Casher
클래스 객체와 객체의 연결을 역할과 책임을 넘기는 것이다
건설 업체가 자신이 하는것보다 다른 업체가 하는 것이 좋으니 그 업체에 하청을 맡기고
건설업체는 일꾼들을 모으면서 작업하는 곳에 하청을 한다.
유저라는 클래스가
주소라는 클래스를 만드는 것보다 주소가 계속 추가되고 달라질 때
유저 클래스를 계속 바꿔주는 것이 맞느냐? 주소라는 클래스를 만들어서 그것을
불러와서 쓰는 것이 좋냐?
클래스에 너무 많은 역할을 주면 안된다
(코드가 많으면 안되다 유지보수가 어렵다)
앞으로만 가던거에 뒤로 가기로 바꿀려면 여러 가지를 바꿔줘야 하기 때문이다.
그렇기 때문에 적절한 세분화와 중요하다
메뉴판을 만들 때 메뉴판 안에서 재고를 파악하고 없다면 보여주지 않는다
재고관리 클래스에서 재고가 있다면 Ture를 아니면 False를 보내준다
데이터가 시스템이 꺼지더라도 가지고 있다면 좋겠다 라면(영원히 저장) 데이터 베이스에 저장하는것이고
아니면 시스템을 사용할때에만 데이터를 가지고 있겠다 라면 이렇게한다.
카페 주문하기(카드or돈 결제만 가능, 할인 쿠폰 같은거 배포가 안되어있음(그러니 할인이 없다))
어;; 인터페이스 어캐 만들지 모르겠다;
메인(메뉴판, 카드, 고객을 불러옴)
고객(메뉴판을 볼러 와서 확인하고 메뉴를 직원 에게 카드와 메뉴를 말함)
돈(현재 가지고 있는 돈을 적어둠)
카드(카드가 마이너스 카드인지 체크카드인지 적어둠 마이너스라면 지금
한도까지 얼마인지 체크라면 지금 돈이 얼마나 들어있는지 적어둠)
직원(받은 메뉴의 재고관리를 불러 확인 후 있다면 결제를 불러서
true라면 음료수를 false이라면 카드에 돈이 부족하다고 반환해줌)
재고관리(받은 메뉴의 만들만큼의 재고가 있다면 true를 아니면 false 반환함)
결제(고객의 카드에 메뉴의 비용만큼 돈이 있다면 true를 아니라면 false를 반환함)
메뉴판(적어진 메뉴를 불러온 곳에 보내줌)
코드블럭이 깨지고, 문단정리가 잘 안되있어서 읽기가 힘드네용.
조금만 더 신경써서 정리해주시면 기록을 복습하실때도 좋으실꺼고
튜터들이 피드백 드리는데도 더 도움이 될 것 같아요! :) 수고하셨습니다.