Java 2 Enterprise Edition์ผ๋ก ์๋ฐ ๊ธฐ์ ๋ก ๊ธฐ์ ํ๊ฒฝ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๋ฐ ํ์ํ ์คํ์ ์งํฉ์ด๋ค. J2EE๋ฅผ ๋ง๋ ๊ฒ์ Sun Microsystems์ด๊ณ SUN์์ J2EE์คํ์ ์๋ฒ์ ์ผ๋ก ๊ตฌํํ์ง๋ง Java์ง์ ์ฌ๋ฌ ๊ฐ๋ฐ์๋ค์ด ๊ฐ์ด ๋ง๋ค์ด๊ฐ๊ณ ๊ณต์ ํ๋ ๊ธฐ์ ์ด๋ผ๊ณ ๋ณผ์์๋ค.
์ํฐํ๋ผ์ด์ฆ ์์คํ ์ด๋?
์๋ฒ์์ ๋์ํ๋ฉฐ ๊ธฐ์ ๊ณผ ์กฐ์ง์ ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํด์ฃผ๋ ์์คํ ์ด๋ค. ๋ง์ ์ฌ์ฉ์๋ค์ ์์ฒญ์ ๋์ ์ฒ๋ฆฌํด์ผ ํ๋ฏ๋ก ์๋ฒ ์์์ ํจ์จ์ ์ผ๋ก ๊ณต์ ํ๊ณ ๋ถ๋ฐฐํด์ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค. ๋ ๊ธฐ์ ์ ํต์ฌ ์ ๋ณด๋ฅผ ๋ค๋ฃจ๊ธฐ๋๋ฌธ์ ๋ณด์, ์์ ์ฑ, ํ์ฅ์ฑ์ด ์๊ตฌ๋๋ค.
์๋ฐ๋ก ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ์ EnterpriseJavaBean๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์์๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์๋ (๋น์ฆ๋์ค์ ๊ด๋ จ๋) ๊ฐ์ฒด๊ฐ ๋ง๋ค. ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ๋ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค์ด ํ์ํ ๋๋ง๋ค ์ปจํ ์ด๋๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ ์์ผ๋ก ๊ด๋ฆฌํ๋ฉด ์ข๊ฒ ๋ค๋ผ๋ ์๊ฐ์ผ๋ก EJB๊ฐ ํ์ํ์๋ค. EJB์ ๋ฑ์ฅ์ผ๋ก ๊ฐ๋ฐ์๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ง์คํ ์ ์๋ ํ๊ฒฝ์ ๊ฐ์ถ์์ง๋ง ๊ทธ๋ผ์๋ ๊ธฐ์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ EJB๋ก ๊ฐ๋ฐํ๋ ๊ฒ์ ์ด๋ ค์ ๋ค.
-
๋๋ฌด ๋ง์ ์์ ์ํ์ ๊ฐ๋ฐ์์๊ฒ ์๊ตฌํ๋ค.
-
๊ฐ์ฒด์งํฅ์ ์ธ ํน์ง๊ณผ ์ฅ์ ์ ํฌ๊ธฐํด์ผ ํ๋ค.
EJB ๋น์ ์์๊ณผ ๋คํ์ฑ๋ฑ์ ํํ์ ์ ๋๋ก ๋๋ฆด ์๊ฐ ์๋ค.
-
์ค์ ๋น์ฆ๋์ค ๋ก์ง๋ณด๋ค EJB ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ฝ๋๋ค์ด ๋ง๋ค๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
EJB๋ ์นจํฌ์ ์ด๋ค. EJB ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ์ ๋ณต์ก๋๋ฅผ ์ ๊ฑฐํ์ง๋ง ํํธ์ผ๋ก ๋ ๋ง์ ๋ฌธ์ ์ ๋ณต์ก์ฑ์ ๊ฐ์ง๊ณ ์๋ค.
์นจํฌ์ ์ด๋ผ๋ ๊ฒ์ ํน์ ๊ธฐ์ ์ ์ ์ฉํ๋ ค๋ฉด ๊ทธ ๊ธฐ์ ์์ ํ๋ผ๋ ๋๋ก ๋ฌด์ธ๊ฐ๋ฅผ ํด ์ฃผ์ด์ผ ํ๋ ๊ฒ์ด๋ค. Spring์ ๋น์นจํฌ์ ์ธ ๋ฐ๋ฉด EJB๋ ์นจํฌ์ ์ด๋ค.
์ปจํ ์ด๋๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ ์์ผ๋ก ๊ด๋ฆฌํ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ. ๐ Enterprise ๊ฐ๋ฐ์ ๋จ์ํํ๊ธฐ ์ํด EJB ํ์. ๐ ์ฌ์ ํ ๊ฐ๋ฐ์ด ์ด๋ ค์.
์ด๋ฐ ์ด๋ ค์์ด ์๋ ์๊ธฐ๋ฅผ ๊ฐ๋ฐ์๋ค์ Java์ ๊ฒจ์ธ์ ๋น์ ํ๊ณ ์๋ก ๋์จ J2EE Framework๋ฅผ ๊ทธ ๊ฒจ์ธ์ด ๋๋๊ณ ๋ด์ด ์ฐพ์์ค๊ฒ ๋ ๊ฒ์ด๋ผ๋ ์๋ฏธ๋ก ๐ฑ ์คํ๋ง์ด๋ผ๊ณ ์ด๋ฆ ์ง๋๋ค. ํน์ ๊ธฐ์ ์ ์ข ์๋์ง ์๊ณ (๊ธฐ์ ๋น์นจํฌ์ ) ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ์ปจํ ์ด๋๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์คํ๋ง์ ๊ธฐ๋ณธ ์ฒ ํ์ด๋ค.
์๋ฐ ์ํฐํ๋ผ์ด์ฆ ๊ฐ๋ฐ์ ํธ๋ฆฌํ๊ฒ ํด์ฃผ๋ ์คํ ์์ค ๊ฒฝ๋๊ธ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ์ด๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์์ํฌ๋ ์ผ๋ฐ์ ์ผ๋ก ํน์ ๋ฌธ์ ์ ๋ํ ๋ถํธํจ์ ํด์์ํค๊ณ ์ ๋ฑ์ฅํ๋ค. ํ์ง๋ง ์คํ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์ ์ํฌ๋ผ๋ ๋จ์ด๋ฅผ ์ฌ์ฉํ๋ค.
์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ? ์ด๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฒด์์ ๋ฐ์ํ๋ ๋ถํธํจ์ ํด์ํ๊ณ ์ ํ๋ค๋ ์๋ฏธ์ด๋ค.
๊ฒฝ๋๊ธ? ๋ถํ์ํ๊ฒ ๋ฌด๊ฒ์ง ์๋ค๋ ์๋ฏธ์ด๋ค. ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํด ์ฝ๋ ์๋ ์์ฒญ๋๋ค. ํ์ง๋ง ํด๋น ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํด์ ์ต์ํ์ ์ฝ๋๋ง ํฌํจ๋์ด ์๋ค๊ณ ์๊ฐํด๋ ์ข์ ๊ฒ ๊ฐ๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ๊ธฐ์ ์ ์ธ ๋ณต์ก์ฑ๊ณผ, ๋น์ฆ๋์ค ๋ก์ง์ ๋ณต์ก์ฑ ๋ ๊ฐ์ง์ ๋ฌธ์ ๊ฐ ์กด์ฌํ๊ณ ์ด ๋์ด ํฉ์ณ์ก์ ๋ ๋ณต์ก๋๋ ์์ฒญ๋๊ฒ ์ฆ๊ฐํ๋ค. ์คํ๋ง์ ์ด ๋์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ๋ก์ฐ ๋ ๋ฒจ์ ๊ธฐ์ ์ ๋ถ๋ฆฌํ๊ณ ์ถ์ํํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋น์ฆ๋์ค ๋ก์ง์๋ง ์ง์คํ ์ ์๋๋ก ํด์ฃผ์๋ค. ์ด ๊ณผ์ ์์ ์ถ๊ฐ์ ์ธ ๋ณต์กํจ์ ๋ง๋ค์ด๋ด์ง ์๋ ๊ฒ๋ ์คํ๋ง์ ์ฅ์ ์ด๋ค.
์ํฐํ๋ผ์ด์ฆ์ ๊ฐ๋ฐ์ด ํธ๋ฆฌํ์ง ์์๊ธฐ ๋๋ฌธ์ ์คํ๋ง์ด ๋ํ๋ฌ๋ค. ์ญ์ ์คํ๋ง์ ๋ชฉ์ ์ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ํธํ๊ฒ ํ๋ ๊ฒ์ด๋ค. ํ์ฌ ์ ์์ ๋ถ ํ๋ ์์ํฌ (eGov)๊ฐ ์คํ๋ง์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ๋ง๋ค์ด์ก๋ค.
์ ์ ์ ๋ถ ํ์ค ํ๋ ์์ํฌ๋ ๊ตญ๊ฐ์์ ๊ณต๊ณต๊ธฐ๊ด ์น ํ๋ก์ ํธ ์ ์ ์ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ ํ๋ ์์ํฌ๋ค. ์๋ฐ ๊ธฐ๋ฐ์ ์น ํ๋ก์ ํธ์ ๊ฐ๋ฐ๊ณผ ์ด์์ ์์ด ํ์ํ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ๋ค์ ๊ตญ๊ฐ์ ์ผ๋ก ํ์คํํด ๋ง๋ค์๋ค.
๋ณต์กํจ์ ์๋ํ๋ ์คํ๋ง ์ ๋ต์ ๋ํด ๋ค๋ฅธ ๋ถ์ด ์ ๋ฆฌํ ๊ธ์ด๋ค.
์ ์คํ๋ง์ ์ฌ์ฉํ ๊น์ ๊ดํด ๋ค๋ฅธ ๋ถ์ด ์ ๋ฆฌํ ๊ธ์ด๋ค.
์คํ๋ง์ ๊ฐ์ฅ ์ข์ ๊ธฐ๋ฅ ์ค ํ๋๋ DI๋ฅผ ์ง์ํด ๋์จํ๊ฒ ๊ฒฐํฉ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ ํด๋์ค๋ฅผ ์์ ํ์ ๋ ๋ค๋ฅธ ํด๋์ค๋ฅผ ์์ ํด์ผ ํ๋ ์ํฉ์ ๋ง์์ค๋ค. (๋์จํ๊ฒ ๊ฐ๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๋จ์ ํ ์คํธ๋ฅผ ํ ์ ์๋ค.) ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ Spring์ IOC Container๊ฐ ๋์ ํด ์ค๋ค.
<์์กด์ฑ ์ฃผ์ ์ด ์๋ ์์>
์๋๋ฅผ ๋ณด๋ฉด A๋ new
๋ฅผ ์ฌ์ฉํ์ฌ B์ ์์กดํ๋ค.
class A {
private B b;
public A() {
this.b = new B();
}
}
<์์กด์ฑ ์ฃผ์ ์ด ์๋ ์์>
@Component๋ @Autowired ๊ฐ์ ์ ๋ ธํ ์ด์ ์ผ๋ก ์ฝ๊ฒ B๋ฅผ ์ป์ ์ ์๋ค. ์ด๋ ๋ฐ์ ํ๊ฒ ๊ฒฐํฉ๋์ง ์๋๋ค.
@Autowired
private B b;
public class A {
private final B b;
@Autowired
public A(B b) {
this.b = B;
}
}
์ด๋ ๊ฒ ํ๋ฉด B๊ฐ ๋ณํ๋๋๋ผ๋ A๋ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ด์ง๋ค.
์คํ๋ง์ด ๊ฐ์ง๊ณ ์๋ ์ฅ์ ์ ์์๋ค. ๊ทธ๋ฌ๋ฉด Spring Boot๋ ์ ์ธ๊น?
์คํ๋ง ํ๋ ์์ํฌ๋ ๊ธฐ๋ฅ์ด ๋ง์ ๋งํผ ํ๊ฒฝ ์ค์ ์ด ๋ณต์กํ ํธ์ด๋ค. ์ด์ ์ด๋ ค์์ ๋๋ผ๋ ์ฌ์ฉ์๋ค์ ์ํด ๋์จ ๊ฒ์ด ๋ฐ๋ก ์คํ๋ง ๋ถํธ๋ค. ์คํ๋ง ๋ถํธ๋ ์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ค์ ์ ๋ง์ ๋ถ๋ถ์ ์๋ํํ์ฌ ์ฌ์ฉ์๊ฐ ์ ๋ง ํธํ๊ฒ ์คํ๋ง์ ํ์ฉํ ์ ์๋๋ก ๋๋๋ค.
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
- ์ค์ ์๋ํ.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์๋ ๊ด๋ฆฌ.
Spring์์๋ ์ฌ๋ฌ ์์กด์ฑ์ xml ํ์ผ์ ์ง์ ์ค์ ํด์ผํ๋ค. Spring Boot๋ Starter์ ์ด์ฉํด ํ๋ก์ ํธ์ ์ค์ ํด์ผ ํ ๋ค์์ ์์กด์ฑ๋ค์ ์ฌ์ ์ ๋ฏธ๋ฆฌ ์ ์ํด ์ ๊ณตํ๋ค.
์) spring-boot-starter-jpa
๋ชจ๋์ ์ถ๊ฐํจ์ผ๋ก์จ jpa๋ฅผ ์ฌ์ฉํ๋๋ฐ ํ์ํ ๋ชจ๋์ ๋ฐ๋ก ์ ๋ฆฌํ๊ณ ๊ด๋ฆฌํ ํ์๊ฐ ์๋ค. spring-boot-starter-web
๋ชจ๋์ ์ถ๊ฐํจ์ผ๋ก์จ json, webmbc์ ๋ชจ๋์ ๋ฐ๋ก ๊ด๋ฆฌํ ํ์๊ฐ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฒ์ ์ถฉ๋ ๋ฌธ์ ๋ ํด๊ฒฐํด ์ค๋ค. ํ๋ก์ ํธ ์์ ์ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ๊ฐ ์ถฉ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋๋ฐ starter์ ์ฌ์ฉํ๋ฉด ์์กด์ฑ ๋ฒ์ ๋ ๊ถ์ฅ ๋ฒ์ ์ผ๋ก ์๋ ์ค์ ๋๋ค. ๋ฐ๋ผ์ ๊ฐ๋ฐ์๋ ๋ฒ์ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํผํ ์ ์๊ณ ์์กด์ฑ์ ์ค์ ํ๊ธฐ ํจ์ฌ ์ฌ์์ง๋ค.
start์ ์๋ ์ค์ ์ด ์ด๋ป๊ฒ ์๋์ผ๋ก ์ ์ฉ๋๋๊ฑธ๊น.
์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํฌํจ๋ org.springframework.boot.autoconfigure.web.servlet
์์ ServletWebServerFactoryAutoConfiguration.java
๋ฅผ ์ด์ด๋ณด๋ฉด ๋ด์ฅ Tomcat์ ์ฌ์ฉํ ์ง, Jetty๋ฅผ ์ฌ์ฉํ ์ง, Undertow๋ฅผ ์ฌ์ฉํ ์ง์ ๋ํ ์ค์ ์ด ์๋ค.
org.springframework.boot.web.embedded.tomcat
์์ TomcatServletWebServerFactory.java
๋ฅผ ์ด์ด๋ณด๋ฉด ํฐ์บฃ์ ์์ฑํ๋ ์ฝ๋๊ฐ ์๋ค. ์ฆ, ์๋ ์ค์ ์์ ํฐ์บฃ๊ณผ ์๋ธ๋ฆฟ ๋ฑ ์น ์๋ฒ ๊ธฐ๋ณธ ์ค์ ๋ค์ด ํฌํจ๋์ด ์๊ณ , ๋ฐ๋ผ์ ๋จ์ง main()์ ์คํํ๋ ๋ฐฉ์์ผ๋ก ํฐ์บฃ์ด ์์ฑ๋๊ณ ์๋ธ๋ฆฟ์ด ์ถ๊ฐ๋์ด ์๋ฒ๋ฅผ ๊ตฌ๋ํ ์ ์๋ค. ํฐ์บฃ์ด ์๋ ๋ค๋ฅธ ์๋ฒ๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค.
=> Jar ํ์์ ์ฌ์ฉํ์ฌ ๋ฐฐํฌํ ์ ์๋ค.
์น ํ๋ก์ ํธ๋ผ๋ฉด War ํ์ผ๋ก ํจํค์ง์ ํด์ผํ๋๋ฐ Spring Boot๋ ๋ด์ฅ ํฐ์บฃ์ ์ง์ํ๊ธฐ ๋๋ฌธ์ Jar ํ์ผ๋ก ํจํค์งํด์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ํฌ ์ ์๋ค.
Why do I use Gradle?
Maven์ pom.xml์ ์ด์ฉํ ์ ํํ๋ ๋น๋ ์์คํ ์ด๋ค. Apache์ ์ด๋ฆ ํ์ Ant๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ค์ ๋ถํธํจ์ ํด์ํ๊ณ ๋ถ๊ฐ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค.
Gradle์ Groovy ๋ฌธ๋ฒ์ ์ฌ์ฉํ๊ณ Groovy๋ JVM์์ ์คํ๋๋ ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ๋ฌธ๋ฒ์ด ์๋ฐ์ ๊ฐ๊น๋ค.
XML์ผ๋ก Build๋ฅผ ์ ์ํ๊ธฐ์ ์ค์ ๋ด์ฉ์ด ๊ธธ์ด์ง๊ณ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ค. ๋ Gradle์ด Maven๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๋ค.
๊ทธ๋ผ์๋ ํ์ฌ Maven์ด Gradle๋ณด๋ค ์ฌ์ฉ๋ฅ ์ด ์์๋ ์ด์ ๋ ๋จ์ง ๋ฌ๋์ปค๋ธ ๋๋ฌธ์ธ ๊ฒ ๊ฐ๋ค.
Java ARchive๋ path ์ ๋ณด๋ฅผ ์ ์งํ ์ํ๋ก ์์ถํ๋ค. Java ํด๋์ค ํ์ผ๊ณผ, ๊ฐ ํด๋์ค๋ค์ด ์ฌ์ฉํ๋ ๊ด๋ จ ๋ฆฌ์์คํ์ผ ๋ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์์ถํ ํ์ผ์ด๋ค. = ํด๋์ค ํ์ผ์ ์์ถ.
์ฌ๊ธฐ์ ๋ฉํ๋ฐ์ดํฐ๋?
์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฒ๋ฆฌํด์ผํ ๋ฐ์ดํฐ๊ฐ ์๋ ์ปดํ์ผ ๊ณผ์ ๊ณผ ์คํ ๊ณผ์ ์์ ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ์ปดํ์ผํ๊ณ ์ฒ๋ฆฌํ ๊ฒ์ธ์ง ์๋ ค์ฃผ๋ ์ ๋ณด์ด๋ค. ex ์ ๋ ธํ ์ด์
Web application ARchive๋ ์น ํ๋ก์ ํธ์์ ๋ฐฐํฌ๋ฅผ ์ํ ์ต์ํ์ ๋จ์์ด๋ค. ๊ทธ๋์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ป๊ฒ ์ค์ ํ ์ง์ ๋ํ ์ ์๊ฐ ์๋ web.xml ํ์ผ์ด ์๊ณ , application์ ๊ตฌ์ฑํ ๋ ํ์ํ ์์์(์๋ฐ ์๋ธ๋ฆฟ, ์ ์ ์นํ์ด์ง ๋ฑ) ์์ถํ Jar ํ์ผ์ด๋ค. war๋ก ์ฌ๋ฆฌ๋ฉด WAS (Web Application Server)๊ฐ ์์ถ์ ํด์ ํ์ฌ ๋ฐฐํฌํด์ค๋ค. (web.xml์ด ์๋ ์ด์ .) = ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์งธ๋ก ์์ถ.
Jar๊ฐ ๊ฐ์ฅ ์ ์ ์์ถ ๋ฒ์๋ฅผ ๊ฐ์ง๊ณ ์๊ณ War์ Jar์ ๋ชจ๋ ํ์ผ + War๋ง์ ํ์ผ์ ๋ ์์ถํ๋ค.