인프런 커뮤니티 질문&답변

참깨햄스터님의 프로필 이미지
참깨햄스터

작성한 질문수

스프링 핵심 원리 - 기본편

회원 도메인 개발

MemoryMemberRepository에서 오류가 납니다

작성

·

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 에 해당 메서드가 없어 발생하는 것으로 보입니다!

image.png

MemberRepository 인터페이스 코드를 한번 확인해보시겠습니까?

 

감사합니다.

해결되었습니다 감사합니다!

참깨햄스터님의 프로필 이미지
참깨햄스터

작성한 질문수

질문하기