본문 바로가기

컴퓨터공학/Spring & Hibernate

Spring> bean에서 Setter 설정하는 법

setFortuneService 에서 set을 뺀 이름인 fortuneService이  name 항목에 들어간다.

 

 

만약 문자열 setter를 다루고 싶다면??

여기서도 setTeam이거나 setEmailAddress 인데 앞에 set을 뺀 team, emailAddress를 name항목에 넣는다.

클래스는 ref으로 받는데 문자열은 value를 쓴다는 점이 다르다.

 

 

여기서 문제

theCoach 변수는 왜 인터페이스인 Coach가 아니라 CricketCoach 로 설정했냐는 점이다.

객체지향에서 배울 때 분명 추상클래스나 인터페이스로 받으라고 배웠는데 말이다.

그 이유는 

Coach 인터페이스가 정의된 메소드는 getDailyWorkout과 getDailyFortune 두 개이고

Coach 인터페이스를 implement 받아서 사용하고있는 CricketCoach는

getEmailAddress, setEmailAddress, getTeam, setTeam, setFortuneService, getDailyWorkout, getDailyFortune

이렇게 메소드가 많이 있다..

Coach 인터페이스로 theCoach 로 정의할 경우

아무리 CricketCoach 클래스로 넘겨 받아도

사용할 수 있는 메소드는 Coach인터페이스가 정의한 

getDailyWorkout과 getDailyFortune 두 개이이다.

즉 Coach 인터페이스가 정의한 메소드밖에 접근하지 못한다.