[JAVA] java 코드로 살펴보는 Record(JAVA 16), Java EE vs Jakarta EEWeb_Backend/Java2024. 1. 21. 22:11
Table of Contents
자바 Record - JAVA 16
클래스의 특별한 한 종류.
class 와의 차이점
- 클래스를 상속 받을 수 없음
- 인스턴스 필드 선언 불가(정적 필드 선언 가능)
- 추상으로 선언 불가하며, 암시적 final로 선언됨
- 클래스 내에서 레코드를 선언할 수 있다. 중첩된 레코드는 암시적으로 static으로 선언된다.
- 제네릭 레코드를 만들 수 있다.
- 레코드는 클래스처럼 인터페이스를 구현할 수 있다.
- new 키워드를 사용하여 레코드를 인스턴스화할 수 있다.
- 레코드의 본문(body)에는 정적 필드, 정적 메서드, 정적 이니셜라이저, 생성자, 인스턴스 메서드, 중첩 타입(클래스, 인터페이스, 열거형 등)을 선언할 수 있다.
- 레코드나 레코드의 각 컴포넌트에 애노테이션을 달 수 있다.
record 이전의 코드(DTO)
public class BookDto {
private String title;
private String author;
private String isbn;
private String publisher;
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
// ... 수많은 코드 ...
@Override
public int hashCode() {
return Objects.hash(title, author, isbn, publisher);
}
}
record 활용 코드(DTO)
public record BookDto(
String title,
String author,
String isbn,
String publisher) {
}
추가적으로 생각해보면 좋을 것
“record를 사용한 DTO 생성과, innerClass를 사용한 DTO 생성의 차이점과 각각의 강점”
Java EE vs Jakarta EE
Java EE (Java Platform, Enterprise Edition)
- 개요:
- Oracle에서 제공하는 기업용 자바 플랫폼.
- 분산 컴퓨팅 및 웹 서비스를 개발하기 위한 API와 라이브러리를 제공한다.
- 자바 EE 플랫폼은 Servlet, JSP, EJB 등의 기술을 포함한다.
Jakarta EE (formerly Java EE)
- 개요:
- 자바 EE의 기술 스택을 Eclipse Foundation으로 이전하면서, Jakarta EE로 이름이 변경되었다.
- Oracle은 자바 EE의 상표 및 관리 권한을 Eclipse Foundation에 이전하면서 이러한 변경이 이루어졌다.
- Jakarta EE는 기업용 자바 애플리케이션을 개발하기 위한 업계 표준 플랫폼이다.
차이점
- 이름 및 브랜드: Jakarta EE는 Oracle의 Java EE의 이후 이름이자 브랜드로 사용된다.
- 라이선스 및 관리: Jakarta EE는 Eclipse Foundation에서 라이선스 및 관리되며, 오픈 소스 커뮤니티에 의해 주도된다.
- API 및 스펙: Jakarta EE는 Java EE의 기술 스택을 계승하면서, 지속적으로 새로운 기술과 업데이트가 이루어진다.
결론
- Jakarta EE는 Java EE의 후속이자 업데이트된 버전으로, 자바 기업 애플리케이션 개발에 사용되는 표준 플랫폼이다.
'Web_Backend > Java' 카테고리의 다른 글
@Yanako :: Yana's coding story
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!