오늘 한 일

  • java 공부
    • 왜 인터페이스를 사용하는가?

      why_interface

      Dao 클래스들이 IUsetInfoDao에 정의된 메소드를 구현하면 UserInfoWeb은 IUsetInfoDao에 정의된 메소드 명세만 보고 Dao를 사용할 수 있기 때문.

      JDBC (Java DataBase Connectivity): DB가 Java와 연결되려면 어떤 것들이 구현되어야 하는지에 대한 명세. connection, statement 등의 인터페이스로 이루어져있다. 사용자는 Oracle, MS Sql, Mysql에서 작성한 jar 파일을 명세에 맞게 사용하면 된다.

    • 인터페이스의 요소

      • 상수: 모든 변수는 상수로 변환된다.

      • 추상 메서드: 모든 메서드는 추상 메서드로 정의된다.

      • 디폴트 메서드: 기본 구현을 가지는 메서드. Java 8에서 인터페이스의 정의가 몇가지 변경되면서 추가된 기능이다. 기존에는 인터페이스가 변경이 되면, 인터페이스를 구현하는 모든 클래스들이 해당 메소드를 구현해야 하는 문제가 있다. 이런 문제를 해결하기 위하여 인터페이스에 메소드를 구현해 놓을 수 있도록 하였다. 디폴트 메서드는 구현 클래스에서 재정의할 수 있다.
        default int exec(int i, int j) { ... }
        
      • 정적 메서드: 인스턴스 생성과 상관없이 인터페이스 타입으로 사용할 수 있는 메서드

      • private 메서드: 인터페이스를 구현한 클래스에서 사용하거나 재정의 할 수 없음. 인터페이스 내부에서만 기능을 제공하기 위해 구현하는 메서드

참조
Do it! 자바 프로그래밍 입문: https://www.inflearn.com/course/자바-프로그래밍-입문/dashboard