record, wrapper(boxing), 시간 api 및 db, generic 및 와일드 카드, 컬렉션(list)

AI·2025년 9월 1일

ch 12 class

DTO(data transfer object) - record(불변),lombok
=> 조회한 데이터를 읽기하고자 할 때, 사용

StringBuilder class

Wrapper
boxing : 기본 타입의 값을 포장 객체로 만드는 과정 ex: int → Integer
unboxing : 포장 객체를 기본 타입으로 변경 ex: Integer → int
parsing : ex. Integer.parseInt("123")
=> 기본형 사용 잘못된 변환 시 NumberFormatException 발생

Math - abs, min, max

LocalDateTime
// 백엔드에서 데이터는 DB 에 저장
// 백엔드에서 Java 는 DB 에 저장된 데이터를 가공(Business Logic)해서 프론트엔드에게 전달
// 프론트엔드에서 게시판에 글쓴 시각을 보여주는 format 이 "2025-09-01 11:10:38" 으로 보여주려고 한다.
// 이 때, format 을 저렇게 만드는 layer 가 백엔드? 백엔드에서도 DB select 할 때? 자바에서 만들어 준다? 아니면 프론트에서 변경한다?

// 게시글의 시각의 포맷을 변경/결정하는 ownership 이 어느 쪽에 있는지??? => 프론트엔드 ex. 지금 막, 한 시간 전....
// 백엔드는 최대한 raw data 를 제공
// 모는 날짜, 시간에 대한 json 으로 응답

정규식

ch 13 generic

object -> generic < T >, 두 개 이상의 타입 파라미터 사용 가능
제네릭 메서드 - public static < T > Box< T > boxing(T t) { ... }
< ? extends ~~ > / < ? super ~~ >
=> 여러 타입을 다룰 수 있음

ch 15 collection

List - 순서 유지, 중복 가능
Set - 순서 유지 X, 중복 X
Map - 키와 값, 키는 중복 X

--- ArrayList vs LinkedList ---

ArrayList: 검색, 랜덤 접근 위주 (ex. 인덱스로 조회) => 검색 속도 빠르지만 중간 삽입/삭제 느림

LinkedList: 삽입/삭제 빈번 (ex. 큐, 스택 구현) => 빠른 삽입/삭제
가능하지만 검색 속도 느림, 메모리 오버헤드

0개의 댓글