package exam16_interface2_tightCoupling;
// tightCoupling : Oracle 에서 MySQL 로 변경할려고 하면 Oracle 코드를 전부다 MySQL 로 변경해야한다.
public class TestMain {
public static void main(String[] args) {
DBService service = new DBService();
// Oracle DB 사용
// service.setDAO(new OracleDAO());
// service.connect(); // >>> OracleDAO connect_oracle() 호출
// MySQL 변경
service.setDAO(new MySQLDAO());
service.connect(); // >>> MySQLDAO connect_mysql() 호출
}
}
package exam16_interface2_tightCoupling;
public class DBService {
// 사용하는 클래스를 직접 지정
// OracleDAO dao;
//
// public void setDAO(OracleDAO dao) {
// this.dao = dao;
// }
//
// public void connect() {
// dao.connect_oracle();
// }
MySQLDAO dao;
public void setDAO(MySQLDAO dao) {
this.dao = dao;
}
public void connect() {
dao.connect_mysql();
}
}
package exam16_interface2_tightCoupling;
public class OracleDAO {
// Oracle 연동 메서드
public void connect_oracle() {
System.out.println("OracleDAO connect_oracle() 호출");
}
}
package exam16_interface2_tightCoupling;
public class MySQLDAO {
// MySQL 연동 메서드
public void connect_mysql() {
System.out.println("MySQLDAO connect_mysql() 호출");
}
}
Tight Coupling 같은 경우에는 예를들어서 Oracle DB 에서 MySQL 로 바꿀려고하면 설정된 모든것들을 일일이 변경해줘야
하는 불편함이있다.
'[study]이론정리 > JAVA(eclipse)' 카테고리의 다른 글
java 10 일차 _ 02. 중첩클래스 (0) | 2024.03.21 |
---|---|
java 10일차 _ 01. 인터페이스( loosely Coupling ) (0) | 2024.03.21 |
java 10일차 _01. 인터페이스 (0) | 2024.03.21 |
java 10일차 _ 9일차 정리 (0) | 2024.03.21 |
java 9일차 _05. 인터페이스 (0) | 2024.03.20 |