상속
-
[JPA] 공통 매핑 정보 @MappedSuperclassJPA 2023. 7. 9. 10:59
[JPA] 공통 매핑 정보 @MappedSuperclass 안녕하세요? 장장스입니다. 오늘은 JPA에서 공통 매핑 정보를 편리하게 사용하는 @MappedSuperclass 에 대해 정리해보겠습니다. 실무에서 공통으로 사용되는 칼럼들 실무에서 테이블을 만들 때 보통 최초생성자와 생성시간, 최종수정자와 수정시간을 저장하는 칼럼들을 사용한다. 매번 반복되는 테이블 칼럼을 반복해서 사용하는 것은 개발자에게 꽤나 번거로운 일이 될 것이라 생각한다. JPA에는 이처럼 공통적으로 매핑되는 칼럼을 쉽게 사용할 수 있도록 @MappedSuperclass 어노테이션을 통해 기능을 제공합니다. @MappedSuperclass 위에서 언급한 최초생성자와 생성시간, 최종수정자와 수정시간을 공통으로 작성할 수 있도록 BaseEn..
-
[JAVA] 인터페이스 (interface)JAVA 2020. 7. 4. 19:12
JAVA interface 인터페이스(interface) 인터페이스는 클래스가 제공하는 기능을 명시적으로 선언하는 역할을 합니다. 인터페이스는 추상 메서드와 상수로만 이루어져 있습니다. 즉, 구현된 코드가 없기 때문에 당연히 인터페이스로 인스턴스(객체)를 생성할 수 없습니다. 그렇다면 왜 인터페이스를 사용하는 걸까요? 인터페이스를 만드는 이유? 인터페이스는 개발자에게 내가 만든 프로그램이 어떤 메서드를 제공할 건지 알려주는 설명서와 같은 역할을 합니다. 예를 들어 계산이 프로그램을 구현한 CalBase클래스가 있다고 해봅시다. 우리는 이 인터페이스클래스만 보고도 이 메서드가 어떤 매개변수를 요구하고 있으며 어떤 반환값을 요구하는지 알 수 있습니다! 전자정부 표준 프레임워크에서는 Service 패키지에서 ..
-
[JAVA] IS-A 관계, HAS-A 관계JAVA 2020. 6. 30. 21:00
IS-A 관계, HAS-A 관계 안녕하세요? 장장스입니다. IS-A 관계, HAS-A 관계에 대해 알아보겠습니다. 객체지향 프로그래밍에서 우리는 상속을 사용합니다. 언제 상속을 사용해야 할까요? IS-A 관계 상속은 IS-A관계에서 사용하는 것이 가장 효율적입니다. IS-A 관계(is a relationship, inheritance)는 일반적인 개념과 구체적인 개념의 관계입니다. 사람은 동물이다. 소는 동물이다 새는 동물이다. 위와 같은 관계입니다. 즉, 일반 클래스를 구체화 하는 상황에서 상속을 사용합니다. 상속을 사용하면 많은 장점이 있지만, 하위 클래스가 상위 클래스에 종속되기 때문에 이질적인 클래스 간에는 상속을 사용하지 않는 것이 좋습니다. 단순히 코드를 재사용할 목적으로 서로 관련이 없는 개..
-
[JAVA] 상속에서 클래스 생성과 superJAVA 2020. 6. 23. 23:47
상속에서 클래스 생성과 super 안녕하세요? 장장스입니다. 오늘은 객체지향 프로그래밍의 중요한 특징 중 하나인 상속(inheritance)에 대해 포스팅 해보겠습니다. 클래스의 상속 B 클래스가 A 클래스에게 상속받는다고 하면 다음과 같이 나타낼 수 있습니다. 클래스 간 상속을 표현할 때 하위 클래스가 상위 클래스를 바라본다는 느낌으로 화살표가 하위클래스에서 상위 클래스로 표시됩니다. 상위 클래스는 부모 클래스, 하위 클래스는 자식 클래스 라고도 불립니다. 자바에서 상속은 extends 예약어를 사용합니다. class B extends A{ } 하위 클래스가 생성되는 과정 그렇다면 하위 클래스는 어떻게 상위 클래스를 상속을 받을까요. 우리는 상속을 받는 하위 클래스가 생성되는 과정을 살펴 볼 필요가 있..