JPA는 java Persistence API이다.
📌 JPA란 – 영속성(Persistence)과 API 개념 잡기
이번 글에서는 JPA(Java Persistence API)의 개념과 함께 영속성(Persistence) 및 API(인터페이스 & 프로토콜)의 차이를 쉽게 정리하겠습니다.
✅ JPA란?
"JPA는 Java Persistence API로, 자바에서 데이터를 영구적으로 저장할 수 있도록 도와주는 기술!"
JPA는 자바 객체를 데이터베이스에 저장하고 관리하는 표준 API입니다.
즉, 자바 객체(Entity)를 DB에 쉽게 저장하고 불러올 수 있는 환경을 제공합니다.
📌 "JPA를 사용하면 개발자가 직접 SQL을 작성하지 않고도 데이터를 관리할 수 있다!"
✅ 영속성(Persistence)이란?
"프로그램이 종료되더라도 데이터가 사라지지 않는 특성!"
🔹 휘발성 데이터 vs 비휘발성 데이터
| 개념 | 설명 |
| 휘발성 데이터 | RAM(메모리)에 저장되며, 컴퓨터가 꺼지면 사라짐 |
| 비휘발성 데이터 | 하드디스크(디스크)에 저장되며, 컴퓨터가 꺼져도 유지됨 |
📌 "JPA는 데이터를 영구 저장(DB)에 기록하는 기능을 제공한다!"
🔹 데이터 저장 과정
- 데이터 생성 (RAM에 저장) → 휘발성 데이터 (컴퓨터 종료 시 삭제됨)
- 하드디스크에 직접 저장하면 비휘발성이지만, 관리가 어려움
- DBMS(데이터베이스 관리 시스템)를 통해 데이터를 효율적으로 저장하고 관리
📌 "JPA는 자바 데이터를 DB에 쉽게 저장하고, 이를 관리할 수 있도록 도와주는 API이다!"
✅ API란?
"API(Application Programming Interface)는 프로그램이 다른 프로그램과 소통하는 방식!"
🔹 API를 구성하는 요소
| 개념 | 설명 |
| Application | 프로그램 |
| Programming | 프로그램을 만들기 위한 도구 |
| Interface | 프로그램이 서로 통신하는 규칙 |
📌 "JPA는 자바에서 데이터를 저장하는 API(= 규칙)이다!"
✅ 인터페이스(Interface)와 프로토콜(Protocol)의 차이
"인터페이스와 프로토콜은 모두 '약속'이지만, 의미가 다르다!"
🔹 인터페이스(Interface)
- 일방적인 규칙 (한쪽에서 상대방에게 지시)
- 예: "전화하지 말고 직접 찾아와라!"
- 개발 예시 :
interface Animal {
void sound();
}
📌 "Animal 인터페이스를 구현하는 모든 클래스는 반드시 sound() 메소드를 구현해야 한다!"
🔹 프로토콜(Protocol)
- 상호 간의 규칙(동등한 관계)
- 예: "우리 이메일로만 연락하자!"
- 개발 예시 : HTTP, FTP, TCP/IP
📌 "인터페이스는 한쪽에서 정한 규칙을 따르는 것이고, 프로토콜은 서로 합의된 통신 규칙이다!"
✅ JPA와 API의 의미
JPA는 Java Persistence API로,
"자바에서 영속성(Persistence)을 유지하기 위한 인터페이스!"
즉, 데이터를 영구 저장하기 위한 인터페이스를 제공하며,
개발자는 이를 활용해 데이터를 쉽게 DB와 연결하고 관리할 수 있습니다.
📌 "JPA를 사용하면 SQL 없이도 자바 객체를 DB에 저장할 수 있다!" 🚀
🔥 핵심 정리
| 개념 | 설명 |
| JPA | 자바에서 데이터를 영구 저장(DB)할 수 있도록 제공하는 API |
| Persistence(영속성) | 프로그램 종료 후에도 데이터가 유지되는 특성 |
| API | 프로그램이 서로 통신하기 위한 규칙 |
| 인터페이스(Interface) | 일방적인 규칙 (한쪽에서 정의) |
| 프로토콜(Protocol) | 상호 간의 통신 규칙 |
📢 마무리
JPA는 자바에서 데이터를 쉽게 저장하고 관리할 수 있도록 돕는 API이며,
SQL 없이도 객체를 영속적으로 관리할 수 있는 강력한 도구입니다.
자바 프로그램을 할때, 영구적으로 데이터를 저장하기 위해서 필요한 인터페이스가 JPA입니다.
https://getinthere.tistory.com/9
스프링부트 with JPA 1강 - 스프링이란!
1. 스프링이란? 스프링은 프레임워크이다. 스프링은 오픈소스이다. 스프링은 IoC 컨테이너를 가진다. 스프링은 DI 를 지원한다. 스프링은 엄청나게 많은 필터를 가지고 있다. 스프링은 엄청나게
getinthere.tistory.com
'스프링(Spring) 및 자바(JAVA)' 카테고리의 다른 글
| 스프링 부트 개념 정리 - 이론06 (0) | 2025.03.08 |
|---|---|
| 스프링 부트 개념 정리 - 이론05 (0) | 2025.03.08 |
| 스프링 부트 개념 정리 - 이론03 (0) | 2025.03.07 |
| 스프링 부트 개념 정리 - 이론02 (0) | 2025.03.06 |
| 스프링 부트 개념 정리 - 이론 01 (0) | 2025.03.06 |