2025-01-20






==> SamsungTV 생성
SamsungTV --> 전원 켜기
SamsungTV --> 소리 올리기
SamsungTV --> 소리 내리기
SamsungTV --> 전원 끄기
package com.spring.java3;
/*
* IoC(Inversion Of Control : 제어의 역전 - 역제어 =/ 순제어)
* - 제어 : 객체(Object)에 대한 제어를 말함.
* - 제어 : Object에서 제어는 두 가지로 나뉘어 짐
* - 객체에 대한 생성(new 키워드)
* - 객체와 객체 간의 의존 관계
*/
public class LgTV implements TV{
public LgTV() {
System.out.println("==> LgTV 생성");
} // 기본 생성자
// overriding 되어있는 상태
public void turnOn() {
System.out.println("LgTV --> 전원 켜기");
}
public void turnOff() {
System.out.println("LgTV --> 전원 끄기");
}
public void soundUp() {
System.out.println("LgTV --> 소리 올리기");
}
public void soundDown() {
System.out.println("LgTV --> 소리 내리기");
}
}
package com.spring.java3;
/*
* IoC(Inversion Of Control : 제어의 역전 - 역제어 =/ 순제어)
* - 제어 : 객체(Object)에 대한 제어를 말함.
* - 제어 : Object에서 제어는 두 가지로 나뉘어 짐
* - 객체에 대한 생성(new 키워드)
* - 객체와 객체 간의 의존 관계
*/
public class SamsungTV implements TV {
public SamsungTV() {
System.out.println("==> SamsungTV 생성");
} // 기본 생성자
@Override
public void turnOn() {
System.out.println("SamsungTV --> 전원 켜기");
}
@Override
public void turnOff() {
System.out.println("SamsungTV --> 전원 끄기");
}
@Override
public void soundUp() {
System.out.println("SamsungTV --> 소리 올리기");
}
@Override
public void soundDown() {
System.out.println("SamsungTV --> 소리 내리기");
}
}
package com.spring.java3;
/*
* IoC(Inversion Of Control : 제어의 역전 - 역제어 =/ 순제어)
* - 제어 : 객체(Object)에 대한 제어를 말함.
* - 제어 : Object에서 제어는 두 가지로 나뉘어 짐
* - 객체에 대한 생성(new 키워드)
* - 객체와 객체 간의 의존 관계
*/
public class GoogleTV implements TV {
public GoogleTV() {
System.out.println("==> GoogleTV 생성");
} // 기본 생성자
@Override
public void turnOn() {
System.out.println("GoogleTV --> 전원 켜기");
}
@Override
public void turnOff() {
System.out.println("GoogleTV --> 전원 끄기");
}
@Override
public void soundUp() {
System.out.println("GoogleTV --> 소리 올리기");
}
@Override
public void soundDown() {
System.out.println("GoogleTV --> 소리 내리기");
}
}
package com.spring.java3;
public interface TV {
void turnOn();
void turnOff();
void soundUp();
void soundDown();
}
package com.spring.java3;
import org.springframework.context.support.GenericXmlApplicationContext;
public class TVUser {
public static void main(String[] args) {
// 현재 코드의 개념이 IoC 개념이다.
// 스프링 컨테이너를 생성하자.
GenericXmlApplicationContext container =
new GenericXmlApplicationContext("applicationContext.xml");
// 컨테이터로 부터 객체를 검색(look up)한다
TV tv = (TV)container.getBean("tv"); // xml파일의 id를 가져온다
tv.turnOn(); // 전원을 켜는 메서드 호출
tv.soundUp(); // 볼륨을 올리는 메서드 호출
tv.soundDown(); // 볼륨을 내리는 메서드 호출
tv.turnOff(); // 전원을 끄는 메서드 호출
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 스프링 컨테이너가 생성할 객체를 bean으로 등록을 한다. -->
<bean id="tv" class="com.spring.java3.GoogleTV"/>
</beans>'Spring, Boot > 기초 내용 정리' 카테고리의 다른 글
| Spring(DI)_01_03 (0) | 2025.01.21 |
|---|---|
| Spring(DI)_01_02 (0) | 2025.01.21 |
| Spring(DI)_01_01 (0) | 2025.01.21 |
| Spring(IoC)_03 (0) | 2025.01.21 |
| Spring(IoC)_01 (0) | 2025.01.20 |