[1장] JPA 소개

책 스터디 정리/JPA ORM 스터디 2023. 4. 4. 14:07

1-1. SQL을 직접 다룰 때 발생하는 문제점 자바 애플리케이션이 관계형 DB와 통신할 때 JDBC API를 통해 SQL문을 사용한다. DB와 객체는 서로 다른 구조를 가지고 있어 객체를 DB에 직접 저장하거나, 조회가 불가능해서 개발자가 직접 애플리케이션 코드와 DB 테이블 사이의 변환 작업을 SQL과 JDBC API로 해야한다. 테이블마다 동일하게 DAO 구성 작업을 반복해야한다. 1-2. SQL에 의존적인 개발 개발하다 요구사항(스펙)이 변경되면 관련 DAO 로직의 SQL 실행을 확인 후, 수정이 필요하다. SQL에 의존하는 상황에서는 엔티티를 신뢰할 수 없다. 물리적으로는 SQL과 JDBC API를 DAO에 숨겼지만, 논리적으로는 강한 의존 관계를 가지고 있다. 강한 의존 관계로 인해 요구 사항..

Article Thumbnail
extends vs implements

개발/Java 2021. 10. 18. 08:20

Extends 클래스가 클래스를 상속받을 때, 인터페이스가 인터페이스를 상속받을 때 extends를 사용한다. 정의, 선언은 모두 부모 클래스가 하며, 상속받는 자식 클래스는 오버라이딩 없이 부모 클래스의 메소드와 변수를 사용 가능하다. JAVA는 부모 클래스가 두 개 이상 존재할 수 없다. Implements 클래스가 인터페이스를 상속하면 implements를 사용한다. interface를 여러 개 상속 받을 수 있다. 부모 클래스는 선언만 하며, 자식 클래스에서 정의를 오버라이딩하여 사용한다.

Integer vs Int

개발/Java 2021. 10. 15. 08:20

기본(primitive) 타입: Int null이 안됨 객체여서 내부적으로 빌트인 메소드(연산자)를 쓸 수 있다. 레퍼(Wrapper) 타입: Integer 제네릭스에서 사용할 수 있다. null 처리가 가능하지만, 언박싱(Integer -> Int)을 하지 않으면 연산이 불가능하다.

JAVA String, StringBuffer, StringBuilder 정리

개발/Java 2021. 10. 7. 08:20

자바 string buffer와 string builder => multi thread 지원 차이 String vs StringBuffer/Builder String은 immutable( 불변 )성을 가짐 String Buffer & Builder는 mutable( 가변 )을 가짐 StringBuffer vs String Builder StringBuffer는 동기화 키워드를 지원하여 멀티쓰레드 환경에서 안전함 StringBuilder는 동기화 미지원으로 단일 쓰레드의 성능은 StringBuffer보다 뛰어남 String : 문자열 연산이 적고, 멀티쓰레드 환경에 적합 StringBuffer : 문자열 연산이 많고, 멀티쓰레드 환경에 적합 StringBuilder : 문자열 연산이 많고, 단일쓰레드 환경..