Java로 나만의 카페 구현하기
- 이제 기본적인 것들에 대해 파악하였다.
- 너무 어렵다...
- 기본적인 개념도 모르는 게 너무 많은데 내일부터 프로젝트라니...
객체지향 프로그래밍 4일차
- 상속, 인터페이스, 추상 클래스를 각각 어떤 상황에서 사용해야하는지 잘 와닿지 않습니다. 특히 인터페이스는 자바에만 있는 기능인 것으로 압니다.
- 실제 프로그래밍 할 때는 Animal 클래스와 같이 명확한 상황이 거의 없는데 어떻게 적용해야할지 너무 모호합니다.
- 추상클래스, ⇒ 템플릿메소드 패턴
- event-us?? ⇒ 참가자(참가코드, 인증방식). ⇒ 비회원참가자(이메일, 닉네임, 핸드폰), 회원참가자(이메일)
- 캐스팅할때 정확히 어떤차이인지 알고싶습니다. Animal animal = new Animal과 Cat animal = new Animal과 Animal animal = new Cat의 차이가 정확히 뭔지 알고싶습니
- 업케스팅 사용시 반드시 업케스팅을 써야만 하는 상황에 대해 적절한 예시가 있을까요?
- 업캐스팅(올라가는거)
- 다운캐스팅
- (Child) Parent p;
- Parent p = new Child();
- (Child) p;
- 예를들어 Animal animal = new Cat() 등으로 선언할때 animal을 new Animal() 로 선언해서는 절대 안되고 반드시 new cat()을 사용해야한다던가 하는 확실한 상황등이 있나요?
- 참가자 ⇒ 회원참가자, 비회원참가자
- Participant
- MemberParticipant
- NonMemberParticipant
- Participant p ??? 참가자? 회원참가자? 비회원참가자?
- 비회원참가자의 A라는 기능을 쓰고싶어
- (NonMemberParticipant) p.A();
JAVA로 서비스를 만든다면..?
https://enjoydevelop.tistory.com/22 - Scanner
- Layered-Architecture → Clean Architecture(Hexagonal Architecture)
- 카페 시스템 중에서 메뉴 목록을 저장하고, 보여주는 부분을 생각해보자.
- Presentation Tier(UI)
- 브라우저
- 메뉴 목록 조회 요청을 한다.
- 메뉴를 저장한다.
- 자바 콘솔
- 메뉴 목록 조회 요청을 입력 받는다.
- 메뉴를 저장한다.
- Application Tier
- Spring
- 메뉴 목록 조회
- Data Tier에 저장 되어 있는 메뉴 목록을 조회 한다.
- 조회 한 메뉴 목록을 네트워크를 통하여, Presentation Tier로 전달한다.
- 자바
- 메뉴 목록 조회
- Data Tier에 저장 되어 있는 메뉴 목록을 조회 한다.
- 조회 한 메뉴를 Presentation Tier로 전달한다.
- Data Tier
- Spring
- DB에 저장 되어 있는 메뉴 목록을 Query를 통하여 조회 한다.
- RepositoryInterface → SpringMysqlDB
- 조회 한 정보들을 Application Tier로 전달한다.
- 자바
- 메모리에 저장(Java의 기능.. List, HashMap) 되어 있는 메뉴 목록을 조회 한다.
- RepositoryInterface
- DefaultMemoryDB → 배열에서 값을 꺼내와
- 조회 한 정보들을 Application Tier로 전달한다.