스프링을 공부하며 잊고 있던 자바 문법 떠올려보기
오늘은 그 중에서도 implements에 대해 공부해보겠다.
implements를 알기 전 extends를 알아놓으면 도움이 될 듯.
class Vehicle {
protected int speed = 3;
public int getSpeed() {
return speed;
public void setSpeed(int speed) {
this.speed = speed;
}
}
Car가 Vehicle을 그대로 물려받는다.
class Car extends Vehicle {
public void printspd(){
System.out.println(speed);
}
}
public interface MemberRepository {
Member save(Member member);
Optional<Member> findById(Long id);
List<Member> findAll();
}
위에서 선언된 interface를
아래의 코드에서 구현한다 생각하면 됨.
public class MemoryMemberRepository implements MemberRepository{
@Override
public Member save(Member member) {
member.setId(++sequence);
return member;
}
@Override
public Optional<Member> findById(Long id) {
return Optional.ofNullable(store.get(id));
}
@Override
public List<Member> findAll() {
return new ArrayList<>(store.values());
}
}