์์ ์์ฝ: Java ํด๋์ค - ์์ฑ์ 2
์ด ์์์ Java์์ ํด๋์ค ์์ฑ์๋ฅผ ๋ค๋ฃจ๋ ๋ ๋ฒ์งธ ๊ฐ์๋ก, ๊ธฐ๋ณธ ์์ฑ์์ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์์ฑ์์ ์ฐจ์ด์ ๊ณผ ํจ๊ป ์ฌ๋ฌ ์์ฑ์๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ์ฝ๊ฒ ์ค๋ช
ํฉ๋๋ค. ์์ฑ์๊ฐ ๋ฌด์์ธ์ง, ์ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ง๋ค์ด์ผ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์์ฑ์ ์๋ ์์ฑ ๊ท์น๊น์ง ์ฐจ๊ทผ์ฐจ๊ทผ ์๋ ค์ค๋๋ค.
๋ชฉ์ฐจ
1.
2.
3.
4.
5.
์์ฑ์ ๊ธฐ๋ณธ ๊ฐ๋
๊ณผ ์๋ ์์ฑ ๊ท์น [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 ํด๋์ค์์ ์์ฑ์๋ฅผ ์ด๋ป๊ฒ ์ ์ํ๊ณ ํ์ฉํ๋์ง ๋ฐฐ์ ์ด์. ๊ธฐ๋ณธ ์์ฑ์์ ๋งค๊ฐ๋ณ์ ์์ฑ์์ ์ฐจ์ด, ์๋ ์์ฑ ๊ท์น, ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ์์ฑ์๋ฅผ ๋ง๋๋ ์ค๋ฒ๋ก๋ฉ๊น์ง ์ดํดํ๋ฉด ๊ฐ์ฒด ์์ฑ์ด ํจ์ฌ ์ ์ฐํด์ง๋๋ค. ๊ผญ ์ง์ ์ฝ๋ฉํด๋ณด๋ฉด์ ์ตํ๋ณด์ธ์!