• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

MemberService대신 Object타입

21.09.18 13:36 작성 조회수 191

0

MemberService memberService = ac.getBean(MemberService.class); 말고\

Object memberService = ac.getBean(MemberService.class); 로 받아도 테스트는 완료뜨는데 이렇게 하는것과 MemberService로받는것과는 무슨차이인거죠..? memberService가 뭐든 결국 new로 받은건 MemverServiceImpl이니까 Test는 잘된건가요?

답변 1

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2021.09.18

안녕하세요. 김민지님, 공식 서포터즈 OMG입니다.

Object는 모든 클래스의 조상이므로 아래와 같은 테스트에서 Object 타입으로 정의해도 테스트가 통과하게 됩니다.

차이는 아래와 같습니다. MemberService의 메서드 join이 있습니다.

 

@Service
public class MemberService {
생략
public void join() {
// 회원가입처리
}
}

Object 타입의 경우 MemberService의 메서드 호출 불가,

MemberService의 경우, 자신의 메서드 호출 가능.

관련하여 자바의 '상속'에 대해서 학습하시길 권장드립니다.

감사합니다.