JAVA API - 인터페이스 기반의 프로그래밍

✔️ 인터페이스 기반의 프로그래밍

: 자바에서 제공하는 인터페이스를 이용하여 벤더(다른 회사들)들이 다양한 API를 만들어서 사용할 수 있는 프로그래밍 기법

 

인터페이스 기반의 API 설계

  • API는 -> 상속 관계로 설계
  • User 클래스는 CC 클래스를 통해서 BB 클래스를 동작시킨다.
  • BB 클래스의 동작 방식을 몰라도 사용 가능하다.
package fc.java.model2;

//BB는 노출을 시키지 않는다. (BB.class) (BB.java : X)
public class BB implements CC{

    @Override
    public void x() {
        System.out.println("x 동작이 실행된다.");
    }

    @Override
    public void y() {
        System.out.println("y 동작이 실행된다.");
    }

    @Override
    public void z() {
        System.out.println("z 동작이 실행된다.");
    }
}
package fc.java.model2;

//추상클래스
public interface CC {
    public void x();
    public void y();
    public void z();

}

 

package fc.java.model2;

//CC를 이용하여 BB를 동작시키는 프로그래밍(인터페이스 기반의 프로그래밍)
public class InterfaceAPI {
    public static void main(String[] args) {
        //BB의 소스코드를 모르는 상태
        //CC로 BB를 생성함.
        CC c = new BB();
        c.x(); //BB의 x()가 동작 -> 동적 바인딩
        c.y();
        c.z();
    }
}

 

 

 

✔️JDBC Driver

👉 자바에서 데이터베이스를 연결하는 방법

  • URL: DB접속 URL(벤더들이 제공)
  • Username: 사용자
  • Password: 비밀번호
package fc.java.model2;

//OracleDriver는 Oracle 회사에서 만들어서 제공하면 됨. (Driver)
public class OracleDriver implements Connection{
    @Override
    public void getConnection(String url, String username, String password) {
        System.out.println(" url, username, password 정보를 이용하여 oracle DB를 접속 시도한다.");
    }
}

 

 

JDBC Programming(Java DataBase Connectivity): 자바데이터베이스 프로그래밍

  • Java에서는 인터페이스(공통의 접근방법)을 제공하고
  • 벤더들은 인터베이스를 구현하여 Driver 클래스를 만들고 배포하면 된다.
  • 벤더마다 배포된 드라이버 이름이 다르다
  • 벤더들이 제공하는 데이터베이스 접속 URL과 URL 형식을 알아야 한다.

 

 

 

✔️인터페이스로 JDBC Driver 연결해보기

package fc.java.course2.part1;

import fc.java.model2.Connection;
import fc.java.model2.OracleDriver;

public class DatabaseConnection {
    public static void main(String[] args) {
        // oracle 접속
        Connection conn = new OracleDriver();
        conn.getConnection("jdbc:oracle:thin:@localhost:1521:DBNAME", "system", "manger");
    }
}

 

'Java > API' 카테고리의 다른 글

JAVA API - 모아, 모아 컬랙션(Collection) API  (0) 2024.07.30

댓글