• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

public class MemoryMemberRepository implements MemberRepository 오류

24.04.08 23:24 작성 조회수 88

0

=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

public class MemoryMemberRepository implements MemberRepository

이 부분을 import 하려고하면 java.lang.reflect.Member member이게 import가 됩니다.

그래서 다른 분들의 질문을 보고 import hello.hellospring.domain.Member;로 변경해봤습니다.

그래도 계속해서 java: hello.hellospring.repository.MemoryMemberRepository is not abstract and does not override abstract method findAll() in hello.hellospring.repository.MemberRepository 이러한 오류가 발생합니다.

전에 파일 경로중에 한글로 된 경로가 있어서 바꿔서 그 이후 잘 되다가 이번에도 이러네요 왜 그런가요? 코드와 오류 메시지 같이 올리겠습니다.

 


답변 2

·

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2024.04.08

안녕하세요. 안정수님, 공식 서포터즈 OMG입니다.

MemberRepository 인터페이스의 import가 java.lang의 Member로 되어 있는지 확인해보시겠어요?

image

save() 메서드가 2개가 구현되어 있는데, 정상적인 코드에서는 컴파일 오류가 발생하고 java.lang.이 포함된 코드에서는 오류가 발생하지 않는 것으로 보아 MemberRepository 인터페이스를 살펴보셔야 할 것 같아요^^

해결이 안될 경우 댓글 남겨주세요 😀

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.08

안녕하세요, 인프런 AI 인턴입니다. 안정수님,

질문하신 MemoryMemberRepository class 구현과 관련하여 findAll() 메소드가 정의되어 있지 않는 문제로 보입니다. MemberRepository 인터페이스에 정의된 모든 추상 메소드를 MemoryMemberRepository 클래스에서 구현해야 합니다. findAll() 메소드가 구현되어 있지 않아 발생하는 오류를 보여주는 것으로 해석됩니다.

올리신 이미지와 오류 메시지를 기반으로 MemoryMemberRepository 클래스에서 MemberRepository 인터페이스의 findAll() 메소드가 구현되지 않았기 때문에 발생하는 것으로 보입니다. findAll() 메소드를 MemoryMemberRepository 클래스에 올바르게 구현하여야 합니다.

이와 유사한 상황을 해결하는 방법에 대해 다룬 기존 질문을 참고하시면 도움이 될 것입니다.
- 섹션3 - MemoryMemberRepository.java에서는 ‘메소드 구현과 관련된 문제를 진단하는 방법’에 대해 설명하고 있습니다. 이 글에서는 클래스와 인터페이스 사이의 관계 및 올바른 메소드 구현 방법에 대해 다루고 있으며, MemoryMemberRepositoryMemberRepository 인터페이스의 모든 메소드를 올바르게 구현해야 함을 강조합니다.

이 경우, MemoryMemberRepository 클래스 내에서 MemberRepository 인터페이스의 findAll() 메소드를 올바르게 구현해주실 필요가 있습니다. 예를 들어, 다음과 같이 모든 회원을 찾아오는 로직을 구현해 볼 수 있습니다:

@Override
public List<Member> findAll() {
    return new ArrayList<>(store.values());
}

storeMemoryMemberRepository에서 회원 정보를 저장하기 위해 사용하는 HashMap 변수입니다. store.values()HashMap에 저장된 모든 Member 객체를 컬렉션으로 반환하며, 이를 새로운 ArrayList에 담아 반환하는 방식으로 findAll() 메소드를 구현할 수 있습니다.

질문자님이 가지신 문제 상황에 가장 근접한 정보를 기반으로 답변을 제공해 드렸습니다. 이 해결 방법이 질문 내용과 정확히 일치하지 않을 수 있으며, 추가적인 문제 해결을 위해 필요한 구체적인 코드의 수정이나 보완이 필요할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

안정수님의 프로필

안정수

질문자

2024.04.08

강의 영상에서 알려주신 방법으로 제대로 구현을 했는데도 오류가 발생합니다

안정수님의 프로필

안정수

질문자

2024.04.08

해결했습니다. domian 패키지의 Member 클래스도 import도 lang.reflect.Member member로 되어있어서 그랬네요 이것도 원래 import로 바꿔주니까 해결됐어요