@Transient
JPA Repository
@Query / Query method
@Transactional
수업 중에 JpaRepository를 상속받는 얘기를 하시면서 implement를 사용한다고 하셔서 (알아보기 전까지 나는 interface를 상속받을 땐 implement, 클래스를 상속받을땐 extends를 써야해! 라고만 생각을 하고 있었다) implement면 부모 인터페이스들의 모든 기능들을 오버라이딩해서 사용해야하지 않냐고 물어보니 옛날에는 그렇게 썼다고해서 약간 ??? 엥? 그럼 스프링부트에서는 골라서 쓸 수 있는 건가!?!?? 상태였다. 😮
막상 실습에서 보니 extends를 사용하더라! 아마 말씀하시다가 헷갈리신듯...?? 그 김에 다시 검색을 해보고 간단하게 정리를 해봤다!
- extends와 implement의 차이
extends는 일반 클래스와 abstract 클래스 상속에 사용되고, implement는 interface 상속에 사용된다.
(나는 이렇게만 알고있었기 때문에 당연히 interface는 implement를 써야한다고 생각했다.)
class가 class를 상속받을 땐 extends를 사용하고, interface가 interface를 상속 받을 땐 extends를 사용한다.
(토이 프로젝트때 interface를 구현하는 class를 만들어서 그 기능들을 사용하기는 해봤는데 interface->interface의 상속은 해보지 않아서 몰랐다... interface->interface는 extends를 사용하는구나!!!!!)
그 외에도
class가 interface를 사용할 땐 implements를 써야하고
interface가 class를 사용할 땐 implements를 쓸수 없다.
extends는 클래스 한 개만 상속 받을 수 있다.
extends 자신 클래스는 부모 클래스의 기능을 사용한다.
implements는 여러개 사용 가능하다.
implements는 설계 목적으로 구현 가능하다.
implements한 클래스는 implements의 내용을 다 사용해야 한다.
✔ 운영체제 3주차 강의 듣기