[WEB]Back-end/Java
Abstract 과 interface 비교
이운형
2022. 1. 10. 16:10
반응형
결론 :
Abstract 는 자식 클래스에게 공통으로 물려주고 싶은 역할. //DNA를 물려준다.
interface는 여러 잡다한 기능들을 사용할수 있게 해주는 역할.//신용카드로 사고픈거 사
Abstract 예시
Score |
Member_Score | Team_Score |
id name total avg str |
id name level address |
Abstract 사용시
public abstract class Score{
private String id;
private String name;
}
Score |
id name |
Member_Score | Team_Score |
total avg str |
level address |
처럼 묶을수 있다.
자식 table인 Member_Score 과 Team_Score는 id, name을 똑같이 가지고 있으니,
Score라는 추상 클래스에 담아두어 제공하면 다른 자식이 생기더라도 나눠줄수 있지!
interface 예시
@Transactional(readOnly = true)
@Repository
public interface TestRepositoy extends JpaRepository<Member, Long> {
}
다음과 같이 spring Data JPA 를 활용하여 findAll 혹은 findById 와 같은 기능을 활용하여 사용하고싶을 때는 interface를 사용하자.
반응형