[23/06/01] Day3 과제 제출

김보아·2023년 6월 1일
0

[오늘의 과제]

JPA의 영속성 컨텍스트에 대해서 설명해 주세요

영속성 컨텐스트란 엔티티를 영구 저장하는 환경이라는 뜻!
애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다.

-영속성 컨텍스트의 특징

엔티티 매니저를 생성할 때 하나 만들어진다.
엔티티 매니저를 통해서 영속성 컨텍스트에 접근하고 관리할 수 있다.

제네릭에 대해서 설명하고, 컬렉션 클래스에서 왜 제네릭을 사용하는 지 설명해주세요.

제네릭은 특정 형식 옆에 꺽쇠 기호(<>)로 추가되며 꺽쇠 기호 안에 특정 형식(type)을 지정하여 사용합니다. 제네릭으로 형식을 지정하면 지정한 형식의 데이터밖에 입력받을 수 없습니다.
제네릭을 사용하면 동일한 형식을 입력하는 불필요한 반복 동작을 자바에서 최소화 시켜줍니다.

컬렉션(collection)이란 많은 수의 데이터를 그 사용 목적에 적합한 자료구조로 묶어 하나로 그룹화한 객체를 말합니다.

컬렉션의 종류는 ArrayList, LinkedList, Vector, Stack, HashSet, TreeSet, HashMap, TreeMap 등이 있으며, 크게 아래와 같은 자료구조 유형에 따라 구분됩니다.

List : 이름과 같이 목록처럼 데이터를 순서에 따라 관리합니다.
Set : 중복이 허용되지 않는 데이터를 관리합니다.
Map : 데이터를 Key와 Value로 짝을 이루어 관리하며, Key값은 중복을 허용하지 않습니다.
Queue : 데이터 In / Out 순서를 FIFO 방식으로 관리합니다. (FIFO : First In First Out)
Stack : 데이터 In / Out 순서를 LIFO 방식으로 관리합니다. (LIFO : Last In First Out)

컬렉션 클래스들이 데이터를 다룰 때 그 데이터는 기본적으로 객체만 가능합니다. 따라서 char, int, float와 같은 기본형은 사용할 수 없고 대신 Wrapper클래스를 사용해야 합니다. 하지만, 오토박싱(auto boxing)과 오토언박싱(auto unboxing)으로 인해 사용자는 마치 기본형을 다룰 수 있는 것처럼 사용할 수 있습니다.

profile
개발하는 개발자

0개의 댓글