과제를 복습하다가 교수님이 주신 코드에서
DAO<PasswordInfo, String> passwordDao = new PasswordImpl();
이런 부분이 나왔다. DAO<PasswordInfo, String> 는 인터페이스인데 인터페이스로도 레퍼런스 변수를 생성해 줄 수 있는건가? 왜 굳이 인터페이스로 만들어줘야하는 거지? 라는 의문이 생겼다.
위의 블로그를 참조 했고 인터페이스로 레퍼런스 변수를 만들어주는 이유는 프로그램을 유연하게 만들어주기 위함이다.
DAO<PasswordInfo, String> passwordDao = new PasswordImpl();에서
레퍼런스 변수 passwordDao 가 PasswordImpl을 가르킬 수 있는 이유는 PasswordImpl이 DAO를 implement 한 DAOImpl 추상클래스를 상속받고 있기 때문이다.
'java_study' 카테고리의 다른 글
명품 JAVA 프로그래밍: 7장 제네릭과 컬렉션 (0) | 2020.12.03 |
---|---|
java2주차:나중에 다시 정리 (0) | 2020.06.01 |
java스터디 1주차:jdk 설치와 eclipse 설치 print (0) | 2020.05.04 |
댓글