Weapon interface를 만들고, 그 인터페이스를 implements한 WeaponImple 클래스를 만들어보자
WeaponImple는 인터페이스를 implements 했기 때문에 attack()메소드를 오버라이트 해야한다.
위의 예시를 가지고 '스프링의 필요성'에 대해 알아보자
스프링의 필요성
클래스는 서로서로 의존 관계(import)에 있다.
위의 예시를 보면 main 메소드에서 useWeapon()메소드를 사용하기 위해서는 weapon 객체를 인자로 보내 주어야한다. 때문에 Weapon 인터페이스를 implements 받은 객체인 WeaponImpl 객체를 생성하기 위해 인터페이스와 클래스를 모두 import하였다.
이러한 경우를 보고 클래스는 서로 의존 관계에 있다고 할 수 있다.
클래스는 서로 의존 관계(import)에 있기 때문에 클래스가 하나가 수정되거나 삭제된다면 그 클래스에 의존하고 있는 다른 클래스에 영향을 끼친다.
이러한 특성때문에 유지보수하기에 매우 불편하다
스프링 프레임 워크를 이용하면 의존관계를 느슨하게 만들어 유지 보수 하기에 편리해 진다.
스프링 사용하기
1. 직접 객체를 생성하지 않고 스프링을 이용해 객체를 생성 하기 위해 아래의 순서대로 init.xml 파일을 생성한다
init.xml 은 생성할 객체를 정의하는 문서이다.
2. init.xml 파일 안의 <bean> 요소에 생성할 객체를 작성해준다.
(Spring Bean Container 안에 생성할 객체를 작성)
3. 스프링 프레임 워크를 사용하면 '필요한 핵심 의존 객체'를 직접 생성하지 않고도 객체를 생성할 수 있다.
[Spring으로 객체를 생성하고 사용하는 방법]
(1) init.xml 문서를 해석해서 bean(객체)를 생성한다.
(2) Spring Bean Container 에서 생성된 의존 객체를 갖고 와서 쓴다.
[예시]
'스프링' 카테고리의 다른 글
[MVC] Spring + MVC 프로젝트 만들기 / 설정 세팅하기 (0) | 2020.01.28 |
---|---|
[Spring] 스프링을 이용해서 객체 생성하는 방법 (0) | 2020.01.28 |
[Spring] 플러그인 설치하기 / Spring Tool3 (0) | 2020.01.23 |
[maven] 프로젝트 생성해보기 (0) | 2020.01.23 |
[maven] maven이란 ? / maven 설치하기 (0) | 2020.01.23 |