๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ245 2022.04.20 ์ ๊ธฐ๋ก โถ ์ค๋ ํ๋ฃจ ๊ณํ ํํธ 1 (11์ ~ 2์) 1. Gradle MVC ํ๋ก์ ํธ ํ ์คํธ ์ฝ๋ ๋ฆฌํฉํ ๋ง 2. Mysql 3๋จ์ ์ ๋ฆฌ ํํธ 2 (3์ ~ 1์) 1. ์คํ๋งMVC ๊ฐ๋ ์ ๋ฆฌ : ํธ๋ค๋ฌ ์ถ์ํด๋์ค๋ก ์ ์ด๋ฃจ์ด์ ธ ์๋์ง ๊ณ ๋ฏผํด๋ณด์ 3๊ฐ 2. ์คํ๋ง๋ถํธ ํ๋ก์ ํธ WIkI ์ ๋ฆฌ 3. ๋ ธ์ ์ด๋ ฅ์ ํ ํ๋ฆฟ ๋ฐ ์ด์ ์์ฑ 4. ๋์ปค 2๋ฌธ์ 5. ์๊ณ ๋ฆฌ์ฆ 1๋ฌธ์ 2022. 4. 20. 2022.04.19์ ๊ธฐ๋ก โถ ์ค๋ ํด์ผํ ๊ณํ 1. real Mysql CH2 2. Docker ๋ณธ๋ฌธ 1ํ์ด์ง 3. ์๊ธฐ์๊ฐ์ ๋ ธ์ ์ ๋ฆฌ 4. ๊นํ๋ธ ์ฐจ๊ธฐ ํ๋ก์ ํธ์ฉ ์ ์ฅ์ ์์ฑ 5. ํ ์คํธ์ฝ๋ ํผ๋๋ฐฑ์ผ๋ก ์์ 6. ์ค๋ผํด ์ญ์ ๋ฐ mysql ์ญ์ ํ ์ฌ์ค์น 7. ์๋ฐ ๋ฉด์ 8. ์คํ๋ง ์ง๋ฌธ ๋ต๋ณ ์ ๋ฆฌ 2022. 4. 19. [ํ๊ณ ] ํ๋ก์ ํธ (ํธ๋ ์ด๋ ์ค๊ณ ํ๋ซํผ) โถ ํ๋ก์ ํธ ๋! (2022.3.23 ~ 2022.4.13)๋๋์ด ํ์ด๋ ํ๋ก์ ํธ๊ฐ ๋์ด ๋ฌ๋ค! ํ์ ์์์ผ์ด ๋ฒ์จ ์๊ทธ์ ๊ฐ์๋ฐ.. ๋ ๋ด๋ฆฌ๋ ์ฒซ ํ์์ผ์ ์์์ ํด์ ๋๋๊ณ ๋ณด๋ ๋ฒ๊ฝ์ด ๋จ์ด์ง ๋์ด๋ค.์ค๊ฐ์ ์ฅ์ผ์ด๋, ์ฝ๋ก๋๋ ํด์ ์ํ์ง๋ง ์์์ด๋ ๋ ๋นจ๋ฆฌ ๋๋๊ณ ๋ฒ๊ฝ ๋ณด๋ฌ ๊ฐ์ ํ ๋ฐ ์ฐธ ์์ฝ๋ค. ๋ ์ฝ๋ก๋๋ผ ์๊ฐ ์น๋ฃ๋ฅผ ์ผ์ฃผ์ผ ๋์ ํด์ ๋๋ฌด ๋ต๋ตํด์ ๋ ์๋๊ฐ ๋๋ ค์ก๋ ๊ฐ๋ ์๋ค. ์ญ์ ๋๋ ์นดํ๋ฅผ ๋๊ฐ์ผ ๋๋ ๋ณด๋ค! โถ ํ๋ก์ ํธ ์ ํ์ ์ด์ ์ฌํญ๋คํ๋ก์ ํธ๋ฅผ ์ํ๋ ์ฌ๋๋ค๋ผ๋ฆฌ ์ฒ์ ์กฐ๋ฅผ ์ง๊ณ ์งํํ๋ฉด์ ํ์คํ ์ด์ ํ๋ก์ ํธ ๋ ๋ณด๋ค ์ํ ํ๊ฒ ์งํ๋์๋ ์ค๋น ๊ณผ์ ์ด์๋ ๊ฒ ๊ฐ๋ค. ํ ๊ฐ์ง ์์ฌ์ด ์ ์ UI ๊ด๋ จ ํ์๊ฐ ์ข ๋ฃ๋๊ณ DB ์ค๊ณ ๋ถ๋ถ์ ๋ค์ด๊ฐ ํ๋ก๋ถํฐ ๊ฑฐ์ ํ์ฅํ๊ณผ ๋๋ง ์๊ธฐํ๋ ์ ์ด.. 2022. 4. 18. 2022.04.18 ์ค๋์ ๊ธฐ๋ก โถ ์ฃผ๊ฐ ์ ๋ฆฌ 1. ํ ์คํธ ์ฝ๋ ์ด์ -> ํ ์คํธ ์ฝ๋๋ฅผ ์ฒ์ ์์ฑํ๋ค ๋ณด๋ ๋ฌธ์ ๊ฐ ๋ง์์ 1) ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ํด (Gradle) -> ์๋ ๊ทธ๋๋ ๋ฉ์ด๋ธ์ด๋ ๋น์ทํด์ ์ฌ์ 2) ์๋ํ ์ด์ ์ ์ฉ์ด ์๋๋ ๋ถ๋ถ -> ์๋ฌด๋ฆฌ ์์กด์ฑ์ ์ถ๊ฐํด๋ ์ ๋๋ ๋ถ๋ถ์ ๋ฒ์ ์ด ์ ๊ทธ๋ ์ด๋ ๋๋ฉฐ ๋ฐ๋ก ๋ชจ๋ํ๊ฐ ๋ ๋ถ๋ถ์ด ๋ง๊ธฐ๋ ํ๊ณ , ๋ฐ๋ก import ํด์ค์ผ ํ๋ junit์ ๋จ์ ์ ์๊ฒ๋์๋ค.. 3) ํ ์คํธ ์ฝ๋๋ ํด๋์ค๋ช + Test ๋ผ๊ณ ์ด๋ฆ ๋ถ์ด๋ฉด ๋จ.. 4) ์์ฑ ์ฝ๋๋ฅผ ํ ์คํธ์ฝ๋์ ๋ฃ์ง ๋ง๊ณ ํ ์คํธ๋ฅผ ํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ์์ฑํ์. 2. ํ๋ก์ ํธ ๊ด๋ จ ์ด์ (ํ๊ณ ์์ฑํ์) -> ์์ฑ ์๋ฃ 3. ์คํ๋ง ๊ฐ๋ ์ ๋ฆฌ ๊ด๋ จ๋ ์ด์ (์์ฑ ์์ ) 1) ํ๋ก ํธ ์ปจํธ๋กค๋ฌ ํจํด์ด ๊ตฌ์ฒด์ ์ผ๋ก ๋ฌด์์ธ์ง. 2) Bean Scope.. 2022. 4. 18. 2022.04.16 ์ ๊ธฐ๋ก โถ ์ฃผ๋ง ๊ณํ 1. SpringMVC ์๊ฐ 2. Gradle test ํ๋ก์ ํธ intellij๋ก ๊น ์ฐ๋ 3. ์คํ๋ง ๋๋ต ๋ชปํ ์ง๋ฌธ ์ ๋ฆฌ 4. ์๊ธฐ์๊ฐ์ ์ ๋ณด๊ธฐ โถ ์ค๋ ํ ์ผ 1. SpringMVC 8,90ํผ์ผํธ 2. ๊น ํ๋ธ ์ฐ๋ 3. ํ์ด๋ ํ๋ก์ ํธ 3์ฐจ ์์ ๋ณธ war ํ์ผ ๊ฐ์ฌ๋๊ป ๋ฉ์ผ ์ ์ก 4. ํ๋ก๊ทธ๋๋จธ์ค 3๊ฐ ํ๊ธฐ 2022. 4. 16. 2022.03.18~03.20์ ๊ธฐ๋ก โถ 3์ผ ๊ณํ => ๊ณต๋ถ ๊ด๋ จ 1) ์์ (18์ผ ์์ ) ๋ด์ฉ ๋ณต์ต 2) MVC ๊ฐ์ ๊ฒฐ์ 3) ์คํ๋ง ๊ธฐ์ ์๊ฐ 4) MVC ๊ฐ์ ์๊ฐ => ์ทจ์ค 1) ๋ฆฌํฉํ ๋ง ๋ง๋ฌด๋ฆฌ ํ ๊น ํธ์ฌ 2) ๋ฏธํก ์ง๋ฌธ ๋ต๋ณ ์ฑ์ฐ๊ธฐ(ํ ๋ฌธ์ฅ์ผ๋ก ์ ๋ฆฌ) 3) ์๊ฐ ๊ฐ์ ๋ด์ฉ ๋ ธ์ ์ ๋ฆฌ โถ ๋ฌธ์ ์ ๋ฆฌ 1. JoinPoint & PointCut์ ๊ฐ๋ ํผ๋ ์กฐ์ธํฌ์ธํธ๊ฐ ๋ฉํ์ ์ธ ์ ๋ณด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๊ณ ํฌ์ธํธ์ปท์ด ์ข ๋ ๊ตฌ์ฒด์ ์ธ ์ ์ฉ ์ง์ ์ด๋ค! 2. MVC ๋ฆฌํฉํ ๋ง์์ Computer ๊ฐ์ฒด ์ฃผ์ ์์ ์ ๋ฌธ์ โถ ๊ฐ์ธ ๊ณต๋ถ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์ถ์ํ: Converter์ Formatter public class EventConverter { public static class StringToEventConverter implements Co.. 2022. 3. 19. 2022.03.17์ ๊ธฐ๋ก โถ ์ค๋ ๊ณํ => ๊ณต๋ถ ๊ด๋ จ 1) ์์ ๋ด์ฉ ๋ณต์ต 2) MVC ๊ฐ์ ๊ฒฐ์ 3) ์คํ๋ง ๊ฐ์ 50% ๋ฌ์ฑ ๋ฐ Spring AOC๊น์ง๋ง ๋ณผ ์ ์์ ๋ณด๊ธฐ โถ ๋ฌธ์ ์ ๋ฆฌ 1. Validation ์ถ์ํ ์งํ ์ ์๋ํ ์ด์ ์์ฑ ๋ถ๊ฐ โถ ๊ฐ์ธ ๊ณต๋ถ IoC ์ปจํ ์ด๋ 6๋ถ: Environment 1๋ถ. ํ๋กํ์ผ ํ๋กํ์ผ๊ณผ ํ๋กํผํฐ๋ฅผ ๋ค๋ฃจ๋ ์ธํฐํ์ด์ค. ApplicationContext extends EnvironmentCapable โ getEnvironment() ํ๋กํ์ผ โ ๋น๋ค์ ๊ทธ๋ฃน โ Environment์ ์ญํ ์ ํ์ฑํํ ํ๋กํ์ผ ํ์ธ ๋ฐ ์ค์ ํ๋กํ์ผ ์ ์ฆ์ผ์ด์ค โ ํ ์คํธ ํ๊ฒฝ์์๋ A๋ผ๋ ๋น์ ์ฌ์ฉํ๊ณ , ๋ฐฐํฌ ํ๊ฒฝ์์๋ B๋ผ๋ ๋น์ ์ฐ๊ณ ์ถ๋ค. โ ์ด ๋น์ ๋ชจ๋ํฐ๋ง ์ฉ๋๋๊น ํ ์คํธํ ๋๋ ํ์๊ฐ ์.. 2022. 3. 17. 2022.03.16์ ๊ธฐ๋ก โถ ์ค๋ ๊ณํ => ๊ณต๋ถ ๊ด๋ จ 1) ์์ ๋ด์ฉ ๋ณต์ต 2) ์คํ๋ง PSA ์๊ฐ 3) ์ธํ ๋ฆฌ์ ์ด ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ 4) ์ค๊ธ ๊ฐ์ ๊ฒฐ์ ๋ฐ 1,2๊ฐ? ์๊ฐ โถ ๋ฌธ์ ์ ๋ฆฌ 1. ๋น ๋ฑ๋ก ๋ฌธ์ > ๋ก๊ทธ๋๋ก ์๋ํ ์ด์ ์ผ๋ก ๋น ๋ฑ๋ก 2. ์ปดํฌ๋ํธ ์ค์บ์์ ๋ค๋ฅธ ํจํค์ง์ ํด๋์ค๋ฅผ ๋น์ผ๋ก ๋ฑ๋ก ๋ฌธ์ @SpringBootApplication public class Demospring51Application { @Autowired MyService myService; public static void main(String[] args) { var app = new SpringApplication(Demospring51Application.class); app.addInitializers((ApplicationContextI.. 2022. 3. 16. 2022.03.15์ ๊ธฐ๋ก โถ ์ค๋ ๊ณํ => ๊ณต๋ถ ๊ด๋ จ 1) ์์ ๋ด์ฉ ๋ณต์ต 2) MVC ๊ฐ์ฒด์งํฅ ๋ฆฌํฉํ ๋ง 3) ์คํ๋ง ๊ฐ์ ์๊ฐ ๋ชฉํ 8,9๊ฐ โถ ๋ฌธ์ ์ ๋ฆฌ โ MVC ๋ฆฌํฉํ ๋ง โ 1. enum๋ view์ ์์กดํ๋ฉด ์๋๋ค. public class Controller { // ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ์๋ ํ๋ private Result result; // play ๋ฉ์๋ public void playRsp(Rsp playerRsp) throws RspException { // ์ฌ์ฉ์ ๊ฐ์ฒด ์์ฑ final Player player = new Player(playerRsp); // ๊ฒ์๊ฒฐ๊ณผ ๋ฐํ๊ฐ์ ํ๋์ ์ ์ฅ this.result = player.play(); // ๊ฐ์๋ฐ์๋ณด ์ํ ๊ฐ ์ถ๋ ฅ ViewOutput.whatYouInput.. 2022. 3. 15. 2022.03.14์ ๊ธฐ๋ก โถ 3์ผ ๊ณํ => ๊ณต๋ถ ๊ด๋ จ 1) ์์ ๋ด์ฉ ๋ณต์ต 2) MVC ๊ฐ์ฒด์งํฅ ๋ฆฌํฉํ ๋ง 3) ์คํ๋ง ๊ฐ์ ์๊ฐ => ํ์ด๋ ํ๋ก์ ํธ ๊ด๋ จ 1) ๋ ธ์ ์ ํผ๋๋ฐฑ ์ ๋ฆฌ โถ ๋ฌธ์ ์ ๋ฆฌ 1. ์ธํ ๋ฆฌ์ ์ด ๋ฉ์ด๋ธ ๋น๋ ํ jar ํ์ผ์ ์ฐพ๋ ๋์ค ์๋ฌ ๋ฐ์ > ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ ํด๊ฒฐ 2. ์ด๋ฆ ๊ฒ์์ FirstName์ผ๋ก ๋ฐ๊พธ๊ธฐ @GetMapping("/owners") public String processFindForm(@RequestParam(defaultValue = "1") int page, Owner owner, BindingResult result, Model model) { // allow parameterless GET request for /owners to return all records if (owner.. 2022. 3. 14. 2022.03.11~03.13์ ๊ธฐ๋ก โถ 3์ผ ๊ณํ=> ๊ณต๋ถ ๊ด๋ จ1) ์์ ๋ด์ฉ ๋ณต์ต2) MVC ๊ฐ์ฒด์งํฅ ๋ฆฌํฉํ ๋ง ์๋ฃ3) ๊ธฐ์ ์ง๋ฌธ ๋ต๋ณ ๋ ธ์ ์ ๋ฆฌ ๋ฐ SOLID ์์ ํ๋ก๊ทธ๋๋ฐ (OCP & DIP & ISP)4) 8๊ฐ์ ๋์์ธ ํจํด ์ ๋ฆฌ => ํ์ด๋ ํ๋ก์ ํธ ๊ด๋ จ1) ERD ๊ทธ๋ ค ๋๊ณ pdf๋ก ๋ง๋ค์ด๋๊ธฐ2) ์ด๋ฏธ์ง ์์ง ๋ง์ฐ์ค ๊ฑด์ ์ง ๋ฐ๊ฟ๋ผ!! [์๋ฃ]โถ ๋ฌธ์ ์ ๋ฆฌ1. ์์ฑ์๋ฅผ ํตํด ์ฃผ์ ์ ๊ด์ฐฎ์. ํ์ง๋ง ์ธ์คํด์ค ์์ฑ์ผ๋ก ์์กดํ์ง ๋ง๊ฒ (ํ ์คํธ ์ฝ๋ ์์ฑ ์ด๋ ค์)> ํ๋ ์ด์ด๋ก ์ปดํจํฐ๋ฅผ ์ฃผ์ง๋ง๊ณ ์ธ๋ถ์์ ๋น๊ต๊ฐ์ ์ป์ด๋ผpublic class Player { private final Rsp playerRsp; private final Computer computer = new Computer(); // setter ๋์ ์์ฑ์๋ก ์ฃผ์ ์์ผ.. 2022. 3. 12. 2022.03.08~03.10 ์ ๊ธฐ๋ก โถ 3์ผ ๊ณํ=> ๊ณต๋ถ ๊ด๋ จ1) ์คํ๋ง ๊ฐ๊ตฌ๋ฆฌ์ฑ ์๋ ํ ๋ ธ์ ๋ฐ ๋ธ๋ก๊ทธ ์ ๋ฆฌ2) MVC ๊ฐ์ฒด์งํฅ ๋ฆฌํฉํ ๋ง ํ๋ฃจ์ข ์ผ (9์ผ ์ค๋)3) ๊ธฐ์ ์ง๋ฌธ ๋ต๋ณ ๋ ธ์ ์ ๋ฆฌ ๋ฐ SOLID ์์ ํ๋ก๊ทธ๋๋ฐ => ํ์ด๋ ํ๋ก์ ํธ ๊ด๋ จ1) DB ํ ์ด๋ธ ์์ฑ ๋ฐ select JOIN ๋๋ต์ ์ธ ์ฟผ๋ฆฌ๋ฌธ ์์ฑ2) git ํ์ โถ ๋ฌธ์ ์ ๋ฆฌ1. ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ> ๋จ์ผ ์ฑ ์ ์์น์ผ๋ก ํด๋์ค๋ฅผ ๋ถ๋ฆฌ2. ๋ด๋ถ ๋ก์ง์ ๊ตฌํํ๋ ๊ฒ์ Model์์ ์ผ์ด๋์ง ์์์ผ ํ๋ค> ์์์ ๋์ด์ธ enum ํด๋์ค์์ ํด๊ฒฐ3. setter ๋ฉ์๋์ ์๋ต (๋ถ๋ณ์ฑ์ ์ง์ผ๋ผ)> ์์ฑ์์ ์ฃผ์ ์ผ๋ก ํด๊ฒฐ4. ๊ฐ ์์ฒด์ ๋น๊ต๋ณด๋ค ํ์ ์ ์๋ฏธ๋ฅผ ๋ ์ด๋ ค์ ๋น๊ต> ํ์ ์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ์ฌ ๊ฐ์ ํ์ ๋ผ๋ฆฌ์ ๋น๊ต๊ฐ ์ฝ๋ ์์ฑ์ ๊ฐ๋ ์ฑ์ด ์ข๋ค. 5. ๋ชจ๋ธ์์ ๋ทฐ ์์กด์.. 2022. 3. 9. 2022.03.07 ์ ๊ธฐ๋ก โถ ํ๋ฃจ => ๊ณต๋ถ ๊ด๋ จ 1) ์คํ๋ง ๊ฐ๊ตฌ๋ฆฌ์ฑ CH6 2) MVC ๊ฐ์ฒด์งํฅ ๋ฆฌํฉํ ๋ง 3) ๊ธ์ผ ๋ฐฐ์ด ๋ด์ฉ ๋ณต์ต => ํ์ด๋ ํ๋ก์ ํธ ๊ด๋ จ 1) DB ์ฌํ์ธ โถ ๊ฐ์ธ ๊ณต๋ถ 5์ฅ ๊ฐ์ฒด ์งํฅ ์ค๊ณ 5์์น ๊ฐ์ฒด ์งํฅ ์ค๊ณ 5์์น ๊ฐ์ฒด ์งํฅ์ ๊ฐ๋ ๊ณผ 4๋ ํน์ฑ ์ข์ ๋๊ตฌ์ ์๊ฒ๋จ. ์ข์ ๋๊ตฌ๊ฐ ์์ด๋ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์์ผ ์ข์ ์๋ฆฌ๊ฐ ๋์ด. ๊ฐ์ฒด ์งํฅ ์ค๊ณ (Object Oriented Design) 5์์น SOLID (๊ฐ์ฒด ์งํฅ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ) SRP (Single Responsibility Principle) : ๋จ์ผ ์ฑ ์ ์์น OCP (Open Closed Princinple) : ๊ฐ๋ฐฉ ํ์ ์์น LSP (Liskov Substitution Principle) : ๋ฆฌ์ค์ฝํ ์นํ ์์น I.. 2022. 3. 7. 2022.03.05~03.06 ์ ๊ธฐ๋ก โถ ํ๋ฃจ => ๊ณต๋ถ ๊ด๋ จ1) ์คํ๋ง ๊ฐ๊ตฌ๋ฆฌ์ฑ CH5๊น์ง ์ฝ๊ณ ์ ๋ฆฌ2) MVC ๊ฐ์ฒด์งํฅ ๋ฆฌํฉํ ๋ง ํ ํผ๋๋ฐฑ3) ๊ธฐ์ ์ง๋ฌธ ๋ต๋ณ ๋ชปํ ๋ถ๋ถ ๋ ธ์ ์ ์ ๋ฆฌ => ํ์ด๋ ํ๋ก์ ํธ ๊ด๋ จ1) DB ERD ๊ทธ๋ ค๋๊ธฐ & ์คํ๋ ๋์ํธ ์ ๋ฆฌ2) git ํ์ โถ ๋ฌธ์ ์ ๋ฆฌ1. ์์์ ์ค๋ณต๊ณผ ๋ฒ๋์ผ๋ก ๋ํดํ ์ฝ๋ํด๊ฒฐ > enum ํด๋์ค 3๊ฐ๋ฅผ ์์ฑํ์ฌ ํด๊ฒฐpackage Enum;public enum PrintGameResult { WIN_RESULT("๋์ด ์ด๊ฒผ์ต๋๋ค."), DRAW_RESULT("๋น๊ฒผ์ต๋๋ค."), LOSE_RESULT("์ปดํจํฐ๊ฐ ์ด๊ฒผ์ต๋๋ค."); private final String printGameResult; PrintGameResult(String printGameResult) { this.pri.. 2022. 3. 5. 2022.03.03 ์ ๊ธฐ๋ก โถ ํ๋ฃจ => ๊ณต๋ถ ๊ด๋ จ 1) ์คํ๋ง ๊ฐ๊ตฌ๋ฆฌ์ฑ CH4 2) MVC ๊ฐ์ฒด์งํฅ ๋ฆฌํฉํ ๋ง (์ด๊ฑฐํ, ์ธํฐํ์ด์ค ๊ณ ๋ฏผ) 3) ๊ธ์ผ ์์ ๋ณต์ต => ํ์ด๋ ํ๋ก์ ํธ ๊ด๋ จ 1) DB ๋ง๋ฌด๋ฆฌ ํ์ 2) ์ถํ ๋ํ ์ผ ์ ๋ฌด ์ ๋ฆฌ 3) ๋ค์ ํ์ํ ๊ฒ git ํ์ โถ ๋ฌธ์ ์ ๋ฆฌ 1. โถ ๊ฐ์ธ ๊ณต๋ถ public class ViewInput { private static final String RSP_INPUT = "1, 2, 3 ์ค์์ ์ซ์๋ฅผ ์ ๋ ฅํ์ธ์."; private static final String RESTART_INPUT = "์ฌ์์ ํ์๊ฒ ์ต๋๊น? (y:n)"; private static final Scanner SCANNER = new Scanner(System.in); public ViewInput() { }.. 2022. 3. 3. ์ด์ 1 ยทยทยท 10 11 12 13 14 15 16 17 ๋ค์ ๋ฐ์ํ