TIL

[코드스테이츠] Day02 BE

yerinpark 2023. 6. 28. 13:56

오늘의 keyword

웹 애플리케이션 동작 개념, DI, IOC

 

 

학습 내용

회원 관리

  • 회원 생성, 조회, 수정, 삭제(CRUD)
  • 회원 관리 도메인에 대한 CRUD 기능.
  • 인터페이스로 선언되고 클래스로 구현되는 행위를 다형성이라고 한다.
  1. http 프로토콜로 요청을 받는다.
  2. 응답을 한다.

 

servlet : 웹 기반의 요청과 응답을 처리해줄 수 있는 Java의 라이브러리이다. 객체이므로 하나의 요청을 받아 하나의 응답을 할 수 있다.

step 1. http, servlet(req, resp)

step 2. 회원 가입(처리해줌)

step 3. DB(x), List or 배열

Dispatcher Servlet, Event Handler, JPA

e.g. Dispatcher Servlet은 어떤 패턴으로 구성되어 있습니까?

 

 

2교시

Error 해결

https://www.inflearn.com/questions/729189/프로젝트-생성-단계-build-gradle-오픈시-오류

 

실습

TDD 방식

entity : 도메인 단위의 명세서 클래스

DIP, OCP

DI, IOC

 

과제

클래스

http://www.tcpschool.com/java/java_class_intro

객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍입니다. 이때 객체를 만들어 내기 위한 설계도와 같은 개념을 클래스(class)라고 합니다.

자바에서 클래스(class)란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용됩니다.

자바에서는 이러한 설계도인 클래스를 가지고, 여러 객체를 생성하여 사용하게 됩니다.

클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성됩니다.

 

인터페이스

http://www.tcpschool.com/java/java_polymorphism_interface

자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가지게 될 것입니다.

하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않습니다.

하지만 다중 상속의 이점을 버릴 수는 없기에 자바에서는 인터페이스라는 것을 통해 다중 상속을 지원하고 있습니다.

인터페이스(interface)란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미합니다.

 

다형성

http://www.tcpschool.com/java/java_polymorphism_concept

다형성(polymorphism)이란 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미합니다.

자바에서는 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있습니다.

다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나입니다.

 

 

• 서비스와 리파지토리의 연결성을 끊어낼 수 있는 방법 고민해보기 (즉, new 연산자를 서비스 클래스 안에서 사용하지 않는 방법을 고민해보기)

 

 

Spring Boot Framework를 사용하는 이유이기도 하다.

application.properties에서 DB의 방언을 변경하여 코드의 재사용성을 높인다.

#Oracle_DB
spring.datasource.url=jdbc:oracle:thin:@localhost:[]:XE
spring.datasource.username=[username]
spring.datasource.password=[password]
spring.datasource.driver-class-name= oracle.jdbc.OracleDriver

'TIL' 카테고리의 다른 글

[코드스테이츠] Day07 BE  (0) 2023.07.05
[코드스테이츠] Day06 BE  (0) 2023.07.03
[코드스테이츠] Day05 BE  (0) 2023.06.30
[코드스테이츠] Day04 BE  (0) 2023.06.29
[코드스테이츠] Day03 BE  (0) 2023.06.29