Search

Java ํด๋ž˜์Šค - ์ƒ์„ฑ์ž 2

์˜์ƒ ์š”์•ฝ: Java ํด๋ž˜์Šค - ์ƒ์„ฑ์ž 2

์ด ์˜์ƒ์€ Java์—์„œ ํด๋ž˜์Šค ์ƒ์„ฑ์ž๋ฅผ ๋‹ค๋ฃจ๋Š” ๋‘ ๋ฒˆ์งธ ๊ฐ•์˜๋กœ, ๊ธฐ๋ณธ ์ƒ์„ฑ์ž์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ์ƒ์„ฑ์ž์˜ ์ฐจ์ด์ ๊ณผ ํ•จ๊ป˜ ์—ฌ๋Ÿฌ ์ƒ์„ฑ์ž๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ์ž๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์™œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์ƒ์„ฑ์ž ์ž๋™ ์ƒ์„ฑ ๊ทœ์น™๊นŒ์ง€ ์ฐจ๊ทผ์ฐจ๊ทผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

๋ชฉ์ฐจ

1.
์ƒ์„ฑ์ž ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์ž๋™ ์ƒ์„ฑ ๊ทœ์น™ [00:00:01]
2.
๊ธฐ๋ณธ ์ƒ์„ฑ์ž์™€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ƒ์„ฑ์ž ํ•จ๊ป˜ ์ •์˜ํ•˜๊ธฐ [00:00:20]
3.
์—ฌ๋Ÿฌ ์ƒ์„ฑ์ž ๋งŒ๋“ค๊ธฐ - ์ด๋ฆ„, ๋‚˜์ด๋งŒ ๋ฐ›๋Š” ์ƒ์„ฑ์ž ์˜ˆ์‹œ [00:03:03]
4.
์ƒ์„ฑ์ž ์˜ค๋ฒ„๋กœ๋”ฉ๊ณผ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • ๋ฐฉ๋ฒ• [00:05:20]
5.
์ƒ์„ฑ์ž ํ™œ์šฉ ์ •๋ฆฌ ๋ฐ ๋งˆ๋ฌด๋ฆฌ [00:07:21]

์ƒ์„ฑ์ž ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์ž๋™ ์ƒ์„ฑ ๊ทœ์น™ [00:00:01]

โ€ข
*์ƒ์„ฑ์ž(Constructor)**๋ž€?
ํด๋ž˜์Šค์—์„œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํŠน๋ณ„ํ•œ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด ์ดˆ๊ธฐํ™”์— ์‚ฌ์šฉ๋ผ์š”.
โ€ข
๊ธฐ๋ณธ ์ƒ์„ฑ์ž(Default Constructor)
๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ง์ ‘ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ฉด, Java ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.
โ€ข
์ค‘์š” ๊ทœ์น™
โ—ฆ
๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ง์ ‘ ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™ ์ƒ์„ฑ
โ—ฆ
ํ•˜์ง€๋งŒ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ์ƒ์„ฑ์ž๋ฅผ ์ง์ ‘ ๋งŒ๋“ค๋ฉด, ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋Š” ์ž๋™ ์ƒ์„ฑ๋˜์ง€ ์•Š์•„์š”!โ†’ ๊ทธ๋ž˜์„œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ํ•„์š”ํ•˜๋ฉด ์ง์ ‘ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ƒ์„ฑ์ž์™€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ƒ์„ฑ์ž ํ•จ๊ป˜ ์ •์˜ํ•˜๊ธฐ [00:00:20]

โ€ข
๊ธฐ๋ณธ ์ƒ์„ฑ์ž์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ์ƒ์„ฑ์ž๋ฅผ ๋‘˜ ๋‹ค ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ์ด์œ :
๋งค๊ฐœ๋ณ€์ˆ˜ ์ƒ์„ฑ์ž๋งŒ ์žˆ์œผ๋ฉด ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ์—†์–ด์„œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ฝ”๋“œ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์˜ˆ์‹œ:
public class Student { public Student() { // ๊ธฐ๋ณธ ์ƒ์„ฑ์ž // ์ดˆ๊ธฐํ™” ์ฝ”๋“œ } public Student(String name, int age) { // ๋งค๊ฐœ๋ณ€์ˆ˜ ์ƒ์„ฑ์ž // ์ด๋ฆ„๊ณผ ๋‚˜์ด ์ดˆ๊ธฐํ™” } }
Java
๋ณต์‚ฌ
โ€ข
์ด๋ ‡๊ฒŒ ํ•˜๋ฉดย new Student()ย ์™€ย new Student("ํ™๊ธธ๋™", 20)ย ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

์—ฌ๋Ÿฌ ์ƒ์„ฑ์ž ๋งŒ๋“ค๊ธฐ - ์ด๋ฆ„, ๋‚˜์ด๋งŒ ๋ฐ›๋Š” ์ƒ์„ฑ์ž ์˜ˆ์‹œ [00:03:03]

โ€ข
์ƒ์„ฑ์ž ์˜ค๋ฒ„๋กœ๋”ฉ(Constructor Overloading)
๊ฐ™์€ ์ด๋ฆ„์˜ ์ƒ์„ฑ์ž๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค๋˜, ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๋‚˜ ํƒ€์ž…์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„œ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.
โ€ข
์˜ˆ์‹œ:
โ—ฆ
์ด๋ฆ„๋งŒ ๋ฐ›๋Š” ์ƒ์„ฑ์ž
โ—ฆ
์ด๋ฆ„๊ณผ ๋‚˜์ด๋งŒ ๋ฐ›๋Š” ์ƒ์„ฑ์ž
โ—ฆ
์ด๋ฆ„, ๋‚˜์ด, ์ „๊ณต๊นŒ์ง€ ๋ฐ›๋Š” ์ƒ์„ฑ์ž ๋“ฑ
โ€ข
IntelliJ ๊ฐ™์€ ๊ฐœ๋ฐœ ๋„๊ตฌ์—์„œ๋Š” ์ž๋™์œผ๋กœ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ๋„ ์žˆ์–ด ํŽธ๋ฆฌํ•ด์š”.

์ƒ์„ฑ์ž ์˜ค๋ฒ„๋กœ๋”ฉ๊ณผ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • ๋ฐฉ๋ฒ• [00:05:20]

โ€ข
๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ ์€ ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ๋‚˜๋จธ์ง€ ํ•„๋“œ(์˜ˆ: ์ „๊ณต, ํ•™๋ฒˆ)๋Š” ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
์˜ˆ์‹œ:
public Student(String name, int age) { this.name = name; this.age = age; this.major = "์—†์Œ"; // ์ „๊ณต ๊ธฐ๋ณธ๊ฐ’ this.studentId = "00"; // ํ•™๋ฒˆ ๊ธฐ๋ณธ๊ฐ’ }
Java
๋ณต์‚ฌ
โ€ข
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ด๋ฆ„๊ณผ ๋‚˜์ด๋งŒ ์ž…๋ ฅํ•ด๋„ ์ „๊ณต๊ณผ ํ•™๋ฒˆ์ด ์ž๋™์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •๋ผ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ์ž ํ™œ์šฉ ์ •๋ฆฌ ๋ฐ ๋งˆ๋ฌด๋ฆฌ [00:07:21]

โ€ข
์ƒ์„ฑ์ž๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ ํ•„์š”ํ•œ ์ดˆ๊ธฐ๊ฐ’์„ ๋„ฃ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๊ธฐ๋ณธ ์ƒ์„ฑ์ž์™€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ƒ์„ฑ์ž๋ฅผ ๋ชจ๋‘ ์ •์˜ํ•ด์„œ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ด์š”.
โ€ข
์ƒ์„ฑ์ž ์˜ค๋ฒ„๋กœ๋”ฉ์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ ์š”์•ฝ

์ด๋ฒˆ ์˜์ƒ์—์„œ๋Š” Java ํด๋ž˜์Šค์—์„œ ์ƒ์„ฑ์ž๋ฅผ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•˜๊ณ  ํ™œ์šฉํ•˜๋Š”์ง€ ๋ฐฐ์› ์–ด์š”. ๊ธฐ๋ณธ ์ƒ์„ฑ์ž์™€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ƒ์„ฑ์ž์˜ ์ฐจ์ด, ์ž๋™ ์ƒ์„ฑ ๊ทœ์น™, ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“œ๋Š” ์˜ค๋ฒ„๋กœ๋”ฉ๊นŒ์ง€ ์ดํ•ดํ•˜๋ฉด ๊ฐ์ฒด ์ƒ์„ฑ์ด ํ›จ์”ฌ ์œ ์—ฐํ•ด์ง‘๋‹ˆ๋‹ค. ๊ผญ ์ง์ ‘ ์ฝ”๋”ฉํ•ด๋ณด๋ฉด์„œ ์ตํ˜€๋ณด์„ธ์š”!