Today I Learned(TIL)/์ธ์ 7 Java ์ถ๊ฐ ๋ฏธ๋ ๊ณผ์ _๋คํ์ฑ, DI ์ฐ์ต ๋คํ์ฑ, DI ์ฐ์ต ๊ณผ์ ๊ฐ์ โ๏ธ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)์ ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ์ฌ ํน์ ์ข ๋ฅ์ ๋๋ฌผ๋ง ๊ด๋ฆฌํ ์ ์๋ MyHouse ํด๋์ค๋ฅผ ๊ตฌํํฉ๋๋ค.๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค๊ณํ๊ณ , ํ์ ์์ ์ฑ์ ํ๋ณดํ๋ ๋ฐฉ๋ฒ์ ํ์ตํฉ๋๋ค. โญ์๊ตฌ์ฌํญโญ1. Animal ์ธํฐํ์ด์ค ๊ตฌํ๋ชจ๋ ๋๋ฌผ์ด ๊ตฌํํด์ผ ํ๋ ๊ณตํต ๊ธฐ๋ฅ์ ์ ์ํฉ๋๋ค.๋ค์ ๋ฉ์๋๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค.void makeSound(); // ๋๋ฌผ์ด ๋ด๋ ์๋ฆฌ๋ฅผ ์ถ๋ ฅvoid eat(String food); // ํน์ ์์์ ๋จน๋ ๋์์ ์ถ๋ ฅboolean isHungry(); // ๋๋ฌผ์ด ๋ฐฐ๊ณ ํ ์ํ์ธ์ง ๋ฐํ2. Dog์ Cat ํด๋์ค ๊ตฌํAnimal ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ ๋๋ค.๊ฐ ํด๋์ค๋ ๋ค์ ๋์์ ์ํํฉ๋๋ค.makeSound : ๋๋ฌผ์ด ๋ด๋ ์๋ฆฌ๋ฅผ.. 2024. 12. 2. Java ์ธ์ _๊ฐ์ฒด ๊ฐ์ ๊ฒฐํฉ๋์ ๋คํ์ฑ ๊ฐ์ฒด ๊ฐ์ ๊ฒฐํฉ๋์ ๋คํ์ฑ11/29 11:10 ~ 12:30 (์ฝ 1์๊ฐ 20๋ถ ์งํ) โญ ์ค์ ํค์๋ โญ๊ฐ์ฒด ๊ฐ์ ๊ฒฐํฉ๋๋คํ์ฑDI ์์กด์ฑ ์ฃผ์ IoC ์ ์ด์ ์ญ์ ๊ฐ์ฒด ์งํฅ 4๊ฐ์ง ํน์ง 1. ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ ๋คํ์ฑ์๋๋ฆฌ์ค 1 - ์๋์ฐจ ์ฃผํ ํ๋ก๊ทธ๋จ์๋ฌด : ์๋์ฐจ๋ฅผ ์ฃผํ์ํค๋ ํ๋ก๊ทธ๋จ์ ๋ง๋์ธ์.senario1.directBinding ํจํค์ง์ Car, GasEngine, ElectricEngine, Main ํด๋์ค ์์ฑpackage senario1.directBinding;public class Car { // 1. ์์ฑ private GasEngine engine; // 2. ์์ฑ์ public Car(){ this.engine = new GasEngine(); .. 2024. 11. 30. Java ์ธ์ _๋น๊ต๋ ๋ฌด์์ผ๊น? (๋๋ฑ์ฑ๊ณผ ๋์ผ์ฑ) ๋๋ฑ์ฑ / ๋์ผ์ฑ ์ธ์ (๊ฐ์ฒด์ ๋ฐ์ดํฐ ๋น๊ต)11/21 15:00 ~ 16:00 (์ฝ 1์๊ฐ ์งํ) ์๋๋ฆฌ์ค์ฑ 3๊ฐ๊ฐ ์ฃผ์ด์ง๋๋ค. ์ด ์ค์์ ๊ฐ์ ์ฑ ์ด ๋ฌด์์ธ์ง ์ฐพ์๋ด์ผ ํ๋ค.์๋๋ฆฌ์ค๋ฅผ ํตํด์ ์๋ฐ์์ ๋น๊ต๋ ๊ฐ๋ ์ด ๋ฌด์์ด๊ณ ๋ ๋์๊ฐ์ ๋๋ฑ์ฑ๊ณผ ๋์ผ์ฑ์ ์ฐจ์ด์ ์ ์์๋ณด์. ์ค์ต๋๋ณด๊ธฐBook.javapublic class Book { private String name; private String author; public Book(String name, String author) { this.name = name; this.author = author; }}Main.javapublic class Main { public static void main(.. 2024. 11. 22. Java ์ธ์ _๊ฐ์ฒด ํ์ฉ ๊ฐ์ฒด ํ์ฉ ์ธ์ 11/19 15:00 ~ 16:15 (์ฝ 1์๊ฐ 15๋ถ๊ฐ ์งํ) ์ธ์ ์ ๋ชฉ์ : ํด๋์ค๋ฅผ ์ ์ฌ์ฉํด ๋ณด์!JVM ๋ฉ๋ชจ๋ฆฌ ์์ญ์๋ฐ์ปดํ์ผ๋ฌ๊ฐ .java ํ์ผ์ ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํJVM์ด ๋ฐ์ดํธ์ฝ๋๋ฅผ ์ฝ์ด์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌโ๏ธ ๋ฐ์ดํธ์ฝ๋(.class)๋ฐ์ดํธ์ฝ๋๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ด ์ปดํ์ผ๋ ํ ์์ฑ๋๋ ์ค๊ฐ ํํ์ ์ฝ๋์ด๋ค. ์ฌ๋์ด ์ฝ์ ์ ์๋ ์์ค ์ฝ๋์ ๊ธฐ๊ณ๊ฐ ์คํํ๋ ๊ธฐ๊ณ์ด์ ์ค๊ฐ ๋จ๊ณ์ ํด๋นํ๋ค. ์๋ฐ์ JVM(Java Virtual Machine)์์ ์คํ๋๋ฉฐ ํ๋ซํผ ๋ ๋ฆฝ์ฑ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ํต์ฌ ์์์ ๋๋ค. โญ ์๋ฐ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ โญ Method Area(๋์๊ด) : .class ํ์ผ์ ์ ๋ณด๊ฐ ์ฌ๋ผ๊ฐ๋ ๊ณณ์ด๋ค. ์๋ฐ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋ ๋ชจ๋ ํด๋์ค์ ๋ฉ์๋ ์ ๋ณด(ํด๋์ค ๊ตฌ์กฐ, ๋ฉ์๋ ์ ๋ณด,.. 2024. 11. 19. Java ํด๋์ค_์ดํดํ์ง ๋ชปํ๋ฉด ๋๊ฐ ์ ์๋ ๋ฐฉ.. Java ํด๋์ค ์๋ฒฝ ์ดํดํ๊ธฐ11/19 9:30 ~ 10:40 (์ฝ 1์๊ฐ 10๋ถ ์งํ)๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์๋๋ก ๋ฐฉ์ ํ์ถํ ์ ์๋ค..! ๊ณต๋ถ๋ ๋ด์ฉ์ ๋ชจ๋ฅด๋ ์ฌ๋์๊ฒ ์ค๋ช ํด์ ์ดํด์ํฌ ์ ์์ ์ ๋์ ๊ฐ๋ ์ ์๊ณ ์๊ฒ๋ ํ๋ค.์ฐ๋ฆฌ๋ ๋ชจ๋ ์คํ๋ง์ ๊ณต๋ถํ๋ ์ฌ๋๋ค์ด๋ค.์คํ๋ง๊ณผ ์๋ฐ๋ ์กฐ๊ธ ๋ค๋ฅด๋ค.์๋ฐ๋ฅผ ์ํ๋ ์ฌ๋์ด ์คํ๋ง์ ์ํ๋์? NOPE!์คํ๋ง์ ์ํ๋ ์ฌ๋์ด ์๋ฐ๋ฅผ ์ํ๋์? NOPE!๊ทธ๋ ๋ค๋ฉด ์๋ฐ๋ฅผ ์ง๊ธ ์ ๋ฐฐ์ฐ๊ณ ์๋ ๊ฒ์ธ๊ฐ?์คํ๋ง์์ ์ฌ์ฉํ๋ ๋ฌธ๋ฒ ์ ๋๋ ์๊ณ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค!๊ทธ์ค์์๋ ํด๋์ค๋ฅผ ๊ผญ ์๊ณ ์์ด์ผ ํ๋ค.ํด๋์ค ์ค์์๋ ๋ ์ค์ํ ๊ฒ์ ์์ฑ์์ด๋ค.์คํ๋ง์์ ์์ฑ์๋ฅผ ๊ฐ์ง๊ณ ์ง์ง๊ณ ๋ณถ๊ณ ํ๋ค.โญโญโญ์ ์ผ ์ค์ํ ๊ฒ : ๋ค ์๊ณ ์์ ํ์๋ ์๋ค. ํ์ง๋ง ํด๋์ค๋ ๊ผญ ์๊ณ ์์ด.. 2024. 11. 19. ๊น์ง QnA ์ธ์ ํ์ต ๋ฐฉ๋ฒ ์ธ์ 11/15 10:00 ~11:15 (์ฝ 45๋ถ ์งํ) ์๋ฐ(Java), ์คํ๋ง ๋ถํธ(Spring Boot)๋ฅผ ๊ณต๋ถํ ๋ ํต์ฌ์ ๋๋ฌด ์ง์ฐฉํ ํ์๋ ์๋ค. ์ธ์ด๋ ๊ณ์ ์งํํ๊ธฐ ๋๋ฌธ์ ๋์ถฉ ์ค์ ๋ฃ๊ณ ์ฝ๋๋ฅผ ๋ณด๊ฑฐ๋ ๋ค์ ์ง๋๋ก ๋๊ฐ์ผ ํ๋ค.๊ฐ๋ฐ์ ์์ฒญ ๋๊ณ ๊ฐ ๋ถ๋ถ์ด ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.๊น์ด ํ๋ ๊ฒ๋ณด๋ค๋ Nํ ๋ฐ๋ณตํ๋ ๊ฒ์ด ์ข๋ค.์ฑ ํ ๊ถ์ ์์ค์ฑ ์ฝ๋ฏ์ด ์ฝ๋ค ๋ณด๋ฉด ๋์ถฉ ํค์๋๊ฐ ๋จธ๋ฆฟ์์ ๋ฐํ๋ค.์์ฃผ ๋ฏ์ ๋จ์ด๋ค๋ ํ ๋ฒ ์ฝ์ผ๋ฉด ๋จธ๋ฆฌ์ ๋์ถฉ ๋ฐํ๋ค.๋ฐ๋ณตํด์ ์ฝ์์๋ก ๋จธ๋ฆฌ ์์์ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ง๊ณ ๊ฐ์ด ์ค๊ฒ ๋๋ค.์ฑ ๋ง ๋ณธ๋ค๊ณ ๋ด๊ณต์ด ์์ด์ง๋ ์๊ณ , ์ฝ๋๋ฅผ ๊ฐ์ด ์์ฑํ๋ค ๋ณด๋ฉด ๋๋ ๋ชจ๋ฅด๊ฒ ๋ด๊ณต์ด ์์ด๊ฒ ๋๋ค.ํ์ต ์๋๋ฅผ 2๋ฐฐ๋ก ์ฌ๋ฆฐ๋ค.์ฒ์์๋ 2๋ฐฐ์์ผ๋ก ๋ค์ผ๋ฉด์ ๋์ถฉ ํค์๋๋ฅผ ๋จธ๋ฆฌ.. 2024. 11. 16. ์ด์ 1 2 ๋ค์