스프링(Spring) 및 자바(JAVA)

스프링 부트 개념 정리 - 이론04

Dev.99_tale 2025. 3. 7. 11:16

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)에 기록하는 기능을 제공한다!"


🔹 데이터 저장 과정

  1. 데이터 생성 (RAM에 저장) → 휘발성 데이터 (컴퓨터 종료 시 삭제됨)
  2. 하드디스크에 직접 저장하면 비휘발성이지만, 관리가 어려움
  3. 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