작성
·
32
0
package hello.core.member;
import java.util.HashMap;
import java.util.Map;
public class MemoryMembereRepository implements MemberRepository{
private static Map<Long, Member> store = new HashMap<>();
@Override
public void save(Member member) {
store.put(member.getId(), member);
}
@Override
public Member findById(Long memberId) {
return store.get(memberId);
}
}
강의를 보며 위 코드를 작성하였는데
Class 'MemoryMembereRepository' must either be declared abstract or implement abstract method 'findBy(Long)' in 'MemberRepository'
Method does not override method from its superclass
두개 오류가 뜹니다 어떻게 해야할까요?
답변 1
0
안녕하세요. 참깨햄스터님, 공식 서포터즈 y2gcoder입니다.
Class 'MemoryMembereRepository' must either be declared abstract or implement abstract method 'findBy(Long)' in 'MemberRepository'
Method does not override method from its superclass
말씀해주신 2개의 오류를 읽어봤을 때
첫번째 오류는 MemberRepository 인터페이스에 정의한 메서드가 findBy()이고, 이를 MemoryMemberRepository 에서 제대로 구현하지 않았다는 것 같고,
두번째 오류는 MemoryMemberRepository의 findById() 위에 @Override 을 붙여, 이 메서드가 오버라이딩된 메서드임을 표시하고 있지만, 실제로는 superclass 인 MemberRepository 에 해당 메서드가 없어 발생하는 것으로 보입니다!
MemberRepository 인터페이스 코드를 한번 확인해보시겠습니까?
감사합니다.
해결되었습니다 감사합니다!