S06L07 – ์ž๋ฐ”์˜ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž

3.2 ์„ค๋ช… ๋ฐ ์ถœ๋ ฅ

์ฝ”๋“œ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•˜๋ฉด:

  • Main ํด๋ž˜์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ง„์ž…์ ์ธ main method๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฒ˜์Œ์—๋Š” ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Smartphone object๊ฐ€ ์ธ์Šคํ„ด์Šคํ™”๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, brand๋Š” ์ดˆ๊ธฐ๊ฐ’ “Apple”๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
  • Smartphone ํด๋ž˜์Šค์— parameterized constructor๊ฐ€ ์ •์˜๋˜๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ์ค„์—์„œ:
    Smartphone phone = new Smartphone(“Samsung”);
    ์ธ์ž๋ฅผ ๋ฐ˜๋“œ์‹œ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ž๋ฅผ ์ƒ๋žตํ•˜๋ฉด, Java๊ฐ€ ์ƒ์„ฑ์ž๊ฐ€ ์ •์˜๋œ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ž๋™์œผ๋กœ ์ฃผ์ž…ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ์˜ ์ถœ๋ ฅ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค:
    Brand (parameterized): Samsung

์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋˜๋Š”์ง€์— ๋”ฐ๋ผ object์˜ ์ดˆ๊ธฐํ™”๊ฐ€ ๋‹ฌ๋ผ์ง์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.


4. ๋น„๊ต ๋ถ„์„

Table: Default Constructor vs. Parameterized Constructor

Feature Description
Constructor Injection Auto-injected if no constructor exists
Parameter Requirements No parameters required
When Defined Not defined manually when any constructor exists
Parameterized Constructor Must be explicitly defined with parameters
Code Outcome Default “Apple” if no parameterized constructor is used, or the passed value (e.g., “Samsung”) when a parameterized one is used

์ด ํ‘œ๋Š” ๊ฐ ์ƒ์„ฑ์ž ์œ ํ˜•์ด Java program์—์„œ ์‚ฌ์šฉ๋  ๋•Œ์˜ ์ฃผ์š” ์ฐจ์ด์ ์„ ๊ฐ•์กฐํ•˜๊ณ  ๋ช…ํ™•ํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.


5. Diagram: Flow of Constructor Calls

์•„๋ž˜๋Š” Smartphone object๋ฅผ ์ƒ์„ฑํ•  ๋•Œ์˜ ํ๋ฆ„์„ ๊ฐœ๋…์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๋‹ค์ด์–ด๊ทธ๋žจ์ž…๋‹ˆ๋‹ค:


6. ๊ฒฐ๋ก 

์ด eBook์—์„œ๋Š” Java์—์„œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž์™€ parameterized constructor์˜ ์—ญํ• ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค:

  • ์ƒ์„ฑ์ž๊ฐ€ ์ œ๊ณต๋˜์ง€ ์•Š์œผ๋ฉด, Java๋Š” object๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ parameterized constructor๋ฅผ ์ •์˜ํ•˜๋ฉด, ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • parameterized constructor๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ•„์š”ํ•œ ์ธ์ž๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ด๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์ œ๊ณต๋œ code example์„ ํ†ตํ•ด ํ˜ธ์ถœ๋œ ์ƒ์„ฑ์ž์— ๋”ฐ๋ผ ์ดˆ๊ธฐํ™” ๊ฐ’์ด ๋‹ฌ๋ผ์ง์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐœ๋…๋“ค์„ ์ดํ•ดํ•จ์œผ๋กœ์จ ์ดˆ๋ณด์ž์™€ developer๋Š” ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜๋ฅผ ํ”ผํ•˜๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ด€ํ–‰์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SEO-Optimized Keywords: Java, default constructor, parameterized constructor, object initialization, Java programming tutorial, constructors in Java, technical writing, programming basics

์ด Java์˜ ์ƒ์„ฑ์ž์— ๊ด€ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ๋ฅผ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Happy coding!






Share your love