Ch.6 인터페이스

^_^·2022년 3월 15일
0

JAVA

목록 보기
6/7

인터페이스?

  • 공통적인 기능을 명시하고 강제적으로 구현
  • 다형성을 이용, 유지보수성을 높일 수 있다
  • 어떤 객체를 직접 알고서 호출하는 방식이 아닌, 어떤 객체가 어떤 기능적인 스펙을 만족함
public interface QuizRepository {

    Quiz getNextQuiz();

}
public class CountryQuizRepositoryImpl implements QuizRepository{
    private Quiz[] quizes;
    public CountryQuizRepositoryImpl(){
        quizes = new Quiz[1];

        OXQuiz quiz1 = OXQuiz.builder().build();
        quiz1.setTitle("중국의 수도는 상하이다.");
        quiz1.setAnswer("X");

        quizes[0] = quiz1;
    }
	
    //QuizRepository의 getNextQuiz를 오버라이드 하여 사용.
    @Override
    public Quiz getNextQuiz() {
        return quizes[0];
    }
}

인터페이스 순서

  • 1.기능을 인터페이스로 설정 - 진짜 객체가 아니라 어떤 객체가 했으면 하는 기능
    Ex) 주방은 원하는 짜장면을 제공한다, 주방은 탕수육을 제공한다.
  • 2.인터페이스를 구현한 실제 클래스를 만든다
  • 3.객체가 필요한 곳에서는 인터페이스만 보고 코딩

->인터페이스가 상속보다 다형성에 더욱 유연함을 제공

다형성

  • 하나의 객체를 여러 개의 타입으로, 하나의 타입으로 여러 종류의 객체
  • 하나의 객체를 여러 가지 타입으로 선언할 수 있다는 뜻
  • JAVA에서 다형성은 상속과 인터페이스를 통해 이루어짐

0개의 댓글