카테고리 없음
개념정리
내이름효주
2024. 6. 4. 19:48
- OOP(Object Oriented programing) - 객체 지향 프로그래밍
- 프로그래밍에서 필요한 데이터를 추상화하여 상태, 행위를 가진 객체로 만들고 객체간의 상호작용을 통해 로직을 구성
- 다형성, 상속성(extends), 캡슐화(private), 추상화(여러 객체들의 공통된 특성을 묶어 상위개념으로 표현)
- 디자인패턴 : 문제의 타입별로 해결하기 좋은 프로그래밍 패턴들(재사용성과 관리용이성을 염두한 구조)
- 생성패턴 ➡️ 객체의 생성에 대한 방법
- 구조패턴 ➡️ 객체와 객체 사이의 상속/조합관계설정 방법
- 행위패턴 ➡️ 객체가 특정 행동을 함으로서 다른 객체에 값을 전달하는 방법
- 프레임워크 : 프로그램을 개발하기 위해 사용되는 틀
- 종류 - Spring(java), MyBatis(orm), React(javascript) 등
- 라이브러리 : 개발자가 만든 클래스들의 나열로, 다른 프로그램들에서 사용할 수 있도록 제공하는 방식
- Spring : Java를 기반으로 한 웹 어플리케이션 프레임워크
- 객체를 관리할 수 있는 컨테이너 제공
- 특정 기술에 종속되지 않고 객체를 관리할 수 있는 프레임워크를 제공하는 것 , 의존성 주입과 제어의 역전(원래 개발자가 가지고 있어야 할 객체의 제어권을 프레임워크가 대신 해준다)을 통해 결합도를 낮춤
- Spring Boot : 스프링(Spring)을 더 쉽게 이용하기 위한 도구가 스프링 부트(Spring Boot)
- 내부에 톰캣이 포함되어 있어 톰캣 설치 및 버전 관리를 하지 않아도 된다.
- starter를 통한 dependency 자동화
- XML 설정을 하지 않아도 된다.
- jar file을 이용해 java 옵션만으로 손쉽게 배포할 수 있다.
- Spring Boot 구성
- Controller: client와 service의 중간자 역할 > client에서 보낸 요청 url에 따라 적절한 응답을 보냄, client에서 request body에 담긴 데이터 dto를 service에 넘겨주고, reponse body에 담겨 반환된 데이터를 돌려주는 역
- Service: 데이터 가공자, client의 요청에 대해 어떤 처리를 할지 경정하는 부분
- DAO: 데이터에 접근하기 위한 객체, 실제로 데이터에 접근해서 데이터를 crud하는 객체
- Entity: DB테이블에 대응하는 하나의 클래스
- DTO: 데이터 교환을 도와주는 객체, 로직을 가지지 않음, Getter/Setter 메소드