본문 바로가기
포스코x코딩온

[포스코x코딩온] 풀스택 부트캠프 18주차 정리 Collection, Spring boot

by 김선지 2024. 2. 22.

Collection

값 추가, 삭제가 불가능한 Array같은 것과는 달리, 추가, 삭제 기능 등이 있는 인터페이스

List (List.of() 등을 써서 만든 List는 immutable하다, 자식들은 Mutable), Set, Map이 있다.

 

List, set: 객체를추가, 삭제, 검색하는방법에 공통점이 있어 공통된 메소드만 따로 모아 Collection 인터페이스로 정의

 

Map: 키와 값을 하나의 쌍으로 묶어 관리하는 구조. JS의 객체, Python의 dictionary와 같다고 생각하면 될 것 같다.

 

1. ArrayList: 가장 많이 쓰는 List 중 하나. 배열 기반이다. 그래서 요소 접근이 빠르다.

2. LinkedList: 연결 리스트 기반으로 하나 하나가 연결되어있는 구조. 그래서 삽입, 삭제는 빠르지만, 요소 접근은 느리다.

 

3. Hash___ : 해시를 사용, 일반이라고 생각하면 될 것 같다. (순서 x)

4. Linked__: 삽입 순서를 기억한다.

5. Tree____: 이진트리 구조로 자동으로 정렬된 서로 요소 저장한다.

 


Spring

Java 웹 프레임워크로, 웹 어플리케이션을 만들 수 있는 백엔드 프레임워크다.

 

특징

1. IoC(제어 반전) : 개발자가 아닌 Spring 컨테이너가 제어권을 관리한다.

2. DI (의존성 주입) : 구성 요소의 의존 과녜가 소스코드 냅가 아닌 외부의설정 파일을 통해 정의. 외부에서 객체 주입받아 사용

3. AOP (관전 지향 프로그래밍): 비즈니스 로직과 공통 모듈로 구분하고, 모듈 안에서 비즈니스 로직을 삽입한다.

4. POJO(Plain Old Java Object 방식), 순수 자바 객체만 사용,  (ex. field, getter, setter만 존재하는 기본적 java obejct

 

Spring Boot란?

Spring을 더 쉽게 이용하기 위한 도구. 마치 Node.js의 express.js같은 느낌인 것 같다.

 

DTO

Data Transfer Object

계층 간 데이터 교환을 위해 사용하는 객체로, 다른 로직을 가지지 않는 순수 데이터 객체다.

 

VO

Value Object

DTO와 비슷하지만 read-only 속성을 가진 객체

Getter만 가지고 있어 수정이 불가하다.