설계

설계

인터페이스, 추상 클래스, 합성 사용 시점

인터페이스, 추상 클래스, 합성 사용 시점인터페이스 사용 시점서로 독립적으로 존재하지만 공통된 행위(계약)을 가진 객체들에게 적합하다.상호작용하지 않는 객체부모가 아닌 구현체 둘이 함께 고려되어야 하는 상황이 거의 없다면 사용하자.구현체 둘이 함께 고려되어야한다면 합성 사용하기 크리스마스) 할인 정책// 증정 정책에 대한 공통 행위(규약)을 정의interface Gift { boolean isApplicable(); BigDecimal calculateAmount(); Map provideGiftItems(); String getName(); }class ChampagneGift implements Gift { priva..

설계

[오브젝트] 상속과 다형성

상속과 다형성상속코드를 재사용하기 위해 가장 널리 사용되는 방법클래스 사이에 관계를 설정하는 것만으로도 기존 클래스가 가지고 있는 모든 속성과 행동을 새로운 클래스에 포함시킬 수 있다.부모 클래스가 제공하고 있는 모든 인터페이스를 자식 클래스가 물려받을 수 있다.자식 클래스는 부모 클래스가 수신할 수 있는 모든 메세지를 수신할 수 있기 때문에 외부 객체는 자식 클래스를 부모 클래스와 동일한 타입으로 간주할 수 있다.상속은 두 클래스의 인터페이스를 통일하기 위해 사용된 구현 방법동일한 인터페이스를 공유하는 클래스들을 하나의 타입 계층으로 묶는다.추가할 클래스가 기존의 어떤 클래스와 매우 흡사할 경우클래스의 코드를 재사용하는 방법 -> 상속업캐스팅 : 자식 클래스가 부모 클래스를 대신하는 것 구현 상속과 인..

설계

[오브젝트] 객체 지향 설계

절차지향 vs 객체지향절차지향프로세스와 데이터를 별도의 모듈에 위치시키는 방식모든 처리가 하나의 클래스 안에 위치하고 나머지 클래스는 단지 데이터의 역할만 수행public class Theater { public void enter(Audience audience, TicketSeller seller) { if (audience.getBag().hasInvitation()) { // 초대장이 있으면 Ticket ticket = seller.getTicketOffice().getTicket(); audience.getBag().setTicket(ticket); // Theater가 Audience의 가방을 직접 확인 } else { //..

설계

[설계] Okky ERD 분석하기

OverviewOkky2000년에 만들어진 국내 최대 개발자 지식공유 플랫폼이다.erdcloud 사이트에 Okky ERD가 공유되어 있어 학습 목적으로 분석해보려고 한다.https://www.erdcloud.com/d/PK2Ae7d4asTRqHpHx OKKYokky erdwww.erdcloud.com 그 전에 왜 존재하는 erd를 분석하게 되었는지 설명해보고자 한다. ERD 분석 이유ERD는 Entity Relationship Diagram의 약자로 Entity들의 관계를 나타낸 도표이다.설계된 ERD 분석을 통해 데이터베이스 설계와 시스템 아키텍처에 대한 이해도를 높일 수 있다. 잘 설계된 ERD는 개발 과정에서 큰 도움이 되는데, 데이터베이스 구조를 명확하게 이해할 수 있어 개발의 효율성이 올라간다...

mint*
'설계' 카테고리의 글 목록