๐Ÿ’ปDEV-STUDY/Java

Constructor, Builder Pattern, Static Factory MethodJava์—์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์„ธ๊ฐ€์ง€ ์ฃผ์š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค.์ƒ์„ฑ์ž(Constructor)๋นŒ๋” ํŒจํ„ด(Builder Pattern)์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ(Static Factory Method)์ƒ์„ฑ์ž(Constructor): ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐฉ๋ฒ•1. @NoArgsConstructor + @Setter๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ๋นˆ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ๋’ค, Setter๋ฅผ ์‚ฌ์šฉํ•ด ํ•„์š”ํ•œ ํ•„๋“œ๊ฐ’์„ ์„ค์ •ํ•œ๋‹ค.Human emptyHuman = new Human();emptyHuman.setName("CheonSang")emptyHuman.setAge(12);class Human { private String name; pri..
๋กœ๋” ๋ฉ”๋ชจ๋ฆฌ ์—”์ง„ JVMJVM(Java Virtual Machine)์ด๋ž€, ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด๋‹ค. ์ž๋ฐ” ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋˜๋ฉด, ์ด๋ฅผ ๋ฐ”๋กœ ๊ธฐ๊ณ„์–ด๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— JVM์ด ์ค‘๊ฐ„์—์„œ ๋ฐ”์ดํŠธ์ฝ”๋“œ(.class ํŒŒ์ผ)์„ ํ•ด์„ํ•˜๊ณ , ์šด์˜์ฒด์ œ์— ๋งž๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค.JVM์€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ์ด๋‹ค. ์ฆ‰ JVM๋งŒ ์žˆ์œผ๋ฉด ์–ด๋–ค ์šด์˜์ฒด์ œ์—์„œ๋„ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. "Write Once, Run Anywhere"๋Š” JVM์„ ํ†ตํ•ด ์‹คํ˜„๋œ๋‹ค. JVM (Java Virtual Machine) ๊ตฌ์„ฑJVM์€ ์„ธ ๊ฐ€์ง€ ์š”์†Œ๋งŒ ๊ธฐ์–ต/ํ•™์Šตํ•˜๋ฉด ๋œ๋‹ค. 1. Class Loader(ํด๋ž˜์Šค ๋กœ๋”, ๋กœ๋”): ์ปดํŒŒ์ผ๋œ ๋ฐ”์ดํŠธ์ฝ”๋“œ(.class)๋ฅผ JVM์— ๋กœ๋“œํ•œ๋‹ค.2. Runtime..
Try Throw CatchJava์—์„œ Exception(์˜ˆ์™ธ)๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค.๊ธฐ๋ณธ์ ์œผ๋กœ Try → Throw → Catch ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ์˜ˆ์™ธ ์ƒํ™ฉ์— ์ง๋ฉดํ–ˆ์„ ๋•Œ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถ”์ง€ ์•Š๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์ปดํŒŒ์ผ ์—๋Ÿฌ์™€ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ (Checked / Unchecked Exception)Java์—์„œ ์—๋Ÿฌ๋ฅผ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ ์ž…์žฅ์—์„œ์˜ ์—๋Ÿฌ ๋ฐœ์ƒ ๊ทผ์›(Source)์— ๋”ฐ๋ผ 2๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•ด๋†“์•˜๋‹ค. EChecked Exception (์ปดํŒŒ์ผ์—๋Ÿฌ): ํ”„๋กœ๊ทธ๋žจ ์™ธ๋ถ€์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์ƒ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜๋กœ, ๋ฐ˜๋“œ์‹œ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ์—†์œผ๋ฉด ์ปดํŒŒ์ผ ์ž์ฒด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.Unchecked Exception (๋Ÿฐํƒ€์ž„์—..
Write Once, Run AnywhereJava ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ์›๋ฆฌJava ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋–ป๊ฒŒ ์‹คํ–‰๋˜๋Š”์ง€ ์ดํ•ดํ•˜๋ ค๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜๋˜์–ด ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰๋˜๋Š” ๊ณผ์ •์„ ์‚ดํŽด๋ด์•ผ ํ•œ๋‹ค.Java ์ฝ”๋“œ ์ž‘์„ฑ๊ณผ ์ปดํŒŒ์ผJava ์ฝ”๋“œ(.java): ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ๋Š” ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ์ด๋‹ค.์ปดํŒŒ์ผ(Compile): ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ(Javac)๋ฅผ ํ†ตํ•ด ์ด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ฐ”์ดํŠธ์ฝ”๋“œ (.class)ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.๋ฐ”์ดํŠธ์ฝ”๋“œ๋Š” ์šด์˜์ฒด์ œ๋‚˜ ํ•˜๋“œ์›จ์–ด์— ์˜์กดํ•˜์ง€ ์•Š๊ณ , JVM์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ์ค‘๊ฐ„ ์ฝ”๋“œ์ด๋‹ค.JVM(Java Virtual Machine)JVM์˜ ์—ญํ• : ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ, ์šด์˜์ฒด์ œ์— ๋งž๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ๋ณ€ํ™˜ํ•œ๋‹ค. JVM์€  Java ํ”„๋กœ๊ทธ..
1000_sang
'๐Ÿ’ปDEV-STUDY/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)