๐ ์ฑ ์๊ฐํ๊ธฐ
๋ด๊ฐ ์ฌ์ฉํ ์๋ฐ์์ ์ ๋ณต ์ฑ
๋งํฌ!
ใด ๊น๋ํ ์ง์, ์ด์ง์คํผ๋ธ๋ฆฌ์ฑ
์ด ์ฑ ์ ๊ณ ๋ฅด๊ฒ ๋ ์ด์ ๋ ์น๊ตฌ์ ์ถ์ฒ์ด์๋ค. ๊ต์ฅํ ๊ผผ๊ผผํ๊ฒ ์ ํ์์ด ์ดํดํ๊ธฐ ์ฝ๋ค๋ ์ด์ ๋ก ์น๊ตฌ๋ ์ด ์ฑ ์ ๊ณจ๋๋ค๊ณ ํ๋ค. ๋๋ ๊ทธ๋์ ๊ทธ๋ฅ ๋ฐ๋ผ์๋ค. ์ค์ ๋ก ์ฑ ์ ์ดํด๋ณด๋ ๊ต์ฅํ ๊ผผ๊ผผํ๊ฒ ์ ๋ฆฌ๋์ด์๋ค. ๋ค๋ฅธ ์ฑ ์ ๋ณธ ์ ์ด ์์ด ๋น๊ต๊ฐ ๋ถ๊ฐํ์ง๋ง, ๋ด ์๊ฐ์ผ๋ก ์ฒ์ ์๋ฐ๋ฅผ ๊ณต๋ถํ๋ค๋ฉด ์ด ์ฑ ์ ๊ฐ์ง๊ณ ์ถฉ๋ถํ ๋ฐ๋ผ๊ฐ ์ ์์ ๋ฏ ํ๋ค. ๋ชจ๋๋ค ํ์ดํ !!
๐ฐ
โ๏ธ ์ ์ฐจ์งํฅํ VS ๊ฐ์ฒด์งํฅํ_ 210p
• ์ ์ฐจ์งํฅํ
: ์ด์ผ๊ธฐ๋ฅผ ์์๋๋ก ์จ ๋๊ฐ๋ฏ์ด ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๋ฐฉ์
์ ์ฐจ 1. ์๋์ฐจ์ ์ปฌ๋ฌ์ ์์ง์ ์ข ๋ฅ๋ฅผ ์ง์
์ ์ฐจ 2. ์ด์ ์์ ์ด๋ฆ, ๋ฉดํ๋ฒํธ๋ฅผ ์ง์
์ ์ฐจ 3. ์ด์ ์๋ ์๋์ฐจ๋ฅผ ์ด์ ํ๋ค.
• ๊ฐ์ฒด์งํฅํ
: ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ , ๊ฐ ๊ฐ์ฒด์ ํฌํจ๋ ๋ฐ์ดํฐ์ ๊ธฐ๋ฅ์ ์ํธ ํธ์ถํจ. ๊ฐ์ฒด์ ํฌํจ๋ ๋ฐ์ดํฐ๋ ์์ฑ ๋๋ ํ๋, ๊ธฐ๋ฅ์ ๋ฉ์๋๋ผ๊ณ ํจ.
โ๏ธ ํด๋์ค ๊ตฌ์กฐ ์ดํผ๊ธฐ_ 212p
• ๊ฐ์ฒด์งํฅ ๋ฌธ๋ฒ ์์
: ์ผ๋ฐ ํด๋์ค, ์ถ์ ํด๋์ค, ์ธํฐํ์ด์ค
• ํด๋์ค ๋ฉค๋ฒ : ํ๋, ๋ฉ์๋,์ด๋ํด๋์ค / ์์ฑ์
public class OuterClass {
// ํ๋
private String name;
private int age;
// ์์ฑ์
public OuterClass(String name, int age) {
this.name = name;
this.age = age;
}
// ๋ฉ์๋
public void displayInfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
// ์ด๋ ํด๋์ค
public class InnerClass {
...
}
// ๋ฉ์ธ ๋ฉ์๋
public static void main(String[] args) {
// OuterClass ์ธ์คํด์ค ์์ฑ
OuterClass outer = new OuterClass("sori", 99);
outer.displayInfo();
}
}
โ๏ธ ๊ฐ์ฒด์ ์์ฑ๊ณผ ํ์ฉ_ 215p
• ๊ฐ์ฒด ์์ฑํ๊ธฐ
OuterClass outer = new OuterClass("Alice", 99);
ํ๋ฉ๋ชจ๋ฆฌ์ OuterClass์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค. ์ด ๊ฐ์ฒด๋ Alice์ 99๋ผ๋ ๊ฐ์ด ์ ์ฅ๋๋ค. ๊ทธ๋ฆฌ๊ณ OuterClass ํ๋์ name๊ณผ age๋ Alice์ 99๋ก ๊ฐ์ด ์ด๊ธฐํ๋๋ค. outer๋ ์ฐธ์กฐ ๋ณ์๋ก, ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒ์ด ์๋ ํ ๋ฉ๋ชจ๋ฆฌ์ ์์น๊ฐ์ ๊ฐ๋ฆฌํค๋ ๋ณ์๋ฅผ ๋งํ๋ค. ๊ทธ๋ ๊ธฐ์ outer๊ฐ ๊ฐ๋ฆฌํค๋ ๊ณณ์ Alice์ 99๊ฐ ์์ ๊ฒ์ด๋ค.
'OuterClass("Alice", 99)๋ก ๋ง๋ ๊ฐ์ฒด๋ฅผ ํ ๋ฉ๋ชจ๋ฆฌ์ ๋ฃ๊ณ , ์์นซ๊ฐ์ OuterClassํ์ ์ ์ฐธ์กฐ ๋ณ์ outer์ ์ ์ฅํ๋ผ!'
• ๊ฐ์ฒด ์์ฑ์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
OuterClass outer = new OuterClass("Alice", 99);
OuterClasss๋ ํด๋์ค ์์ญ, ์ฐธ์กฐ ๋ณ์ outer๋ ์คํ ์์ญ, ์์ฑ์๋ก ๋ง๋ค์ด์ง ๊ฐ์ฒด๋ ํ ๋ฉ๋ชจ๋ฆฌ์ ์์นํ๋ค. ์ฌ๊ธฐ์ ๊ฐ์ฒด ๋ด์ ๋ฉ์๋ ์์ญ์ ์์น๋ง ๊ฐ๋ฆฌํค๊ณ ์๋ค. ๊ทธ ์ด์ ๋ ๋ชจ๋ ๊ฐ์ฒด์ ์์ฑ์ ๋ฌ๋ผ๋ ๊ฐ์ ๋ฉ์๋๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋ฉ์๋๋ ํ ๋ฒ๋ง ๋ง๋ค๋ฉด ๋๋ค. ๊ทธ๋์ ๊ฐ์ฒด ๋ด์ ๋ฉ์๋ ์์ญ์ ๊ฐ๋ฆฌํค๊ณ ๊ทธ ๋ฉ์๋๋ ํด๋์ค ์์ญ์ ์กด์ฌํ๊ฒ ๋๋ค.
โ๏ธ ํฌ์ธํธ ์ฐ์ฐ์_ 218p
• ์ฐธ์กฐ ๋ณ์๋ช .ํ๋๋ช or ์ฐธ์กฐ ๋ณ์๋ช .๋ฉ์๋๋ช ()
: ํด๋น ์์น์ ์๋ ๊ฐ์ฒด ์์ ๋ณด๋ผ
class A {
int m = 3;
void print() {
System.out.println("๊ฐ์ฒด ์์ฑ ๋ฐ ํ์ฉ");
}
}
public class CreateObjectAndUsageOfMembers {
public static void main(String[] args) {
A a = new A();
a.m = 5;
System.out.println(a.m);
a.print();
}
}
a์ m ํ๋ ๊ฐ์ด 5๋ก ๋ณ๊ฒฝ๋์๋ค. ๊ทธ๋ ๊ธฐ์ a.m์ 5๊ฐ ์ถ๋ ฅ๋๋ค. a.print( )๋ A ํด๋์ค์ print๋ฅผ ๋ถ๋ฌ์จ๋ค. a.print์ ๊ฒฐ๊ณผ๊ฐ์ ๊ฐ์ฒด ์์ฑ ๋ฐ ํ์ฉ์ด ๋๋ค.