DEV ℧ Developer Diary

[JPA] JPA의 개요

해당 포스트는 인프런 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 을 듣고 정리한 글입니다.

JPA의 개요

JPA란?

자바진영의 ORM 기술 표준

ORM?

  • Object-relational mapping (객체 관계 매핑)
  • 객체는 객체대로 설계
  • 관계형 데이터베이스는 관계형 데이터베이스대로 설계
  • ORM 프레임워크가 중간에서 매핑
  • 대중적인...

[JPA] SQL 중심적인 개발의 문제점

SQL 중심적인 개발의 문제점

해당 포스트는 인프런 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 을 듣고 정리한 글입니다.

기존 SQL 위주 개발의 문제점

현대 애플리케이션의 언어는 Java, Scala 등등 객체 지향의 언어를 사용하고 있다. 하지만 데이터베이스의 경우 Oracle, MySQL 같은 관계형...

[EffectiveJava] item19 - 상속을 고려해 설계하고 문서화하라. 그러지않았다면 상속을 금지하라

상속을 고려해 설계하고 문서화하라. 그러지않았다면 상속을 금지하라

상속의 문서화

item 18에서는 상속을 염두에 두지 않고 설계 했고 상속할 때의 주의점도 문서화해놓지 않은 ‘외부’ 클래스를 상속할 때의 위험을 경고했다.

상속용 클래스 재정의할 수 있는 메서드들은 내부적으로 어떻게 이용하는지(자기사용) 문서로 남겨야 한다. 클래스의 API 로...

[DesignPattern] 팩토리 메서드 (Factory Method)

팩토리 메서드(Factory Method)

객체를 생성하기 위해 인터페이스를 정의합니다. 어떤 클래스의 인스턴스를 생성할지 서브클래스를 통해서 결정해 줍니다.

활용 방안

팩토리 메서드는 다음과 같은 상황에 사용 할 수 있다.

  • 어떤 클래스가 자신이 생성해야 하는 객체의 클래스를 예측할 수 없을 때
  • 생성할 객체를 기술하는 책임을...

[EffectiveJava] item18 - 상속보다는 컴포지션을 사용하라

상속보다는 컴포지션을 사용하라

상속과 컴포지션은 상속 (Is-A)과 컴포지션 (Has-A) 를 참고해주시기 바랍니다.

상속의 캡슐화 이상

상속은 코드를 재사용하는 강력한 수단이지만, 항상 최선은 아니다. 메서드 호출과 달리 상속은 캡슐화를 깨뜨린다. 다시 말하자면 상위 클래스가 어떻게 구현되느냐에 따라 하위 클래스의 동작에 이상이 생길 수...