1. this()
- ์์ฑ์ ์์์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถํด์ ์ฌ์ฉ ํ ์ ์๋ค.
- ํด๋์ค๋ช ์ ๊ฐ์ ์์ฑ์๋ช ์ด ์๋ this()๋ผ๋ ํค์๋๋ก ์์ฑ์๋ฅผ ํธ์ถํ๋ค
? ์์ฑ์๋ฅผ ํธ์ถ ํ ๋ ์์ฑ์๋ช ์ผ๋ก ํธ์ถํ๋ฉด ๋ ํธํ ๊ฒ ๊ฐ์๋ฐ ์ this๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํ๊ฑธ๊น?
์๋ฐ ๋ฌธ๋ฒ์ด ๋ง๋ค์ด ์ง๋ ์ด๋ฏธ ํด๋์ค๋ณ์์ ํด๋์ค ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ ํด๋์ค๋ช .๋ณ์, ํด๋์ค๋ช .ํจ์๋ก ํธ์ถ ํด์ ์ด๋ฏธ ๋ฌธ๋ฒ์ ์ ์ ๋นํด ์์ฑ์๋ฅผ ํธ์ถ ํ ๋ this๋ฅผ ์ฌ์ฉํ๊ฒ ๋์๋ค.
- ํ ์์ฑ์์์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถ ํ ๋๋ ๋ฐ๋์ ์ฒซ์ค์๋ง ํธ์ถ์ด ๊ฐ๋ฅํ๋ค
? ์์ฑ์ ์์์ ์ด๋ฏธ ์ด๊ธฐํ๋ฅผ ๋ค ํ๋๋ฐ ๋ง์ง๋ง์ ๋ค๋ฅธ ์์ฑ์๋ฅผ ํธ์ถํ๋ค๋ฉด ์์ ์ด๊ธฐํ ๋์๋ ๊ฒ๋ค์ด ๋ฌด์๋ฏธ ํด์ง๊ธฐ ๋๋ฌธ์ ์ ์ผ ์ฒซ์ค์ ํธ ์ถ ํด์ฃผ์ด์ผ ํ๋ค.
โ โ โ โ โ ๊ธฐ์ตํ๊ธฐ) 1.์์ฑ์๋ฅผ ํธ์ถ ํ ๋๋ ๋ฐ๋์ ์ฒซ์ค์ ํธ์ถํ๊ธฐ 2. ํด๋์ค๋ช ์ด ์๋ this๋ก ํธ์ถํ๊ธฐ
โ ์์ฑ์ ํธ์ถ ์์
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public class Con{
int x;
Con(){
//์์ฑ์ ํธ์ถ
this(1000);
x = 10;
System.out.println("์ธ์๊ฐ ์๋ ์์ฑ์");
System.out.println("Con์ด ๊ฐ๊ณ ์๋ x: " +this.x);
}
Con(int x){
this.x=x;
System.out.println("์ธ์๊ฐ ํ๋์ธ ์์ฑ์");
System.out.println("Con ์ด ๊ฐ๊ณ ์๋ x: " +this.x);
}
public static void main(String[] args){
Con ob1 = new Con();
}
|
์ฝ๋ ์ค๋ช )
24๋ฒ์ค) Con ๊ฐ์ฒด ob1์ด ์์ฑ ๋๋ฉด์ Con() ์์ฑ์๊ฐ ํธ์ถ ๋๋ค.
4๋ฒ์ค) con()์์ฑ์๊ฐ ํธ์ถ ๋๋ฉด์
7๋ฒ์ค) ์ ์ผ ์ฒซ์ค์ this(1000)์ด ํธ์ถ ๋์์ผ๋ฏ๋ก
14๋ฒ์ค)Con(1000)์ด ํธ์ถ ๋๋ฉด์
16๋ฒ์ค)x์ ๊ฐ์ 1000์ด ๋๋ค. ์์ฑ์ํธ์ถ์ด ๋๋๊ณ
9๋ฒ์ค)์๋ Con()์ผ๋ก ๋์๊ฐ x=10์ด ๋ค์ด๊ฐ์ x์ ๊ฐ์ 10์ผ๋ก ๋ฐ๋๋ค.
? ์ฌ๊ธฐ์ ์๋ฌธ์ ?
Q. ์์ ์ฝ๋๊ฐ์ด ํ๋ฉด ์์ฑ์๋ฅผ ํธ์ถํด ๋ดค์ ์ด๊ธฐํํ ๊ฐ์ด ๋ฐ๋๋๋ฐ ์ ํธ์ถํ๋ ๊ฑธ๊น?
1)
1
2
3
4
5
6
7
8
9
|
Car(){
this("white",auto, 4);
}
Car(String color,String gearType , int door){
this.color = color;
this.gearType = gearType;
this.door = door;
}
|
1
2
3
4
5
6
7
8
9
10
|
Car(){
this.color = "white";
this.gearType = auto;
this.door = 4;
}
// ์์ฑ์ ํธ์ถ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด
Car(){
this("white",auto, 4);
}
|
A. - 2๋ฒ ์ฝ๋์ ์์ Car()์ ์๋ Car()๋ ๊ฐ์ ์ผ์ ํ์ง๋ง ์๋ Car()๋ this ํธ์ถ์ ํตํด ์ด๊ธฐํ ํด์ฃผ๋ฏ๋ก ์ข ๋ ์ฝ๋๋ฅผ ๊ฐ๋ตํ๊ฒ ํ ์ ์๋ค.
- ์์ฑ์๋ค์ ์ผ๋ฐ์ ์ผ๋ก ์๋ก ๊ด๊ณ๊ฐ ๊น์ ๊ฒฝ์ฐ๊ฐ ๋ง์์ ์๋ก ํธ์ถํ๋๋ก ํ์ฌ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐํด์ฃผ๋ฉด ๋ ์ข์ ์ฝ๋๋ฅผ ์ป์ผ์ ์๊ณ ์์ ์ด ํ์ ํ ๊ฒฝ์ฐ์๋ ์ ์ ์ฝ๋๋ง์ ๋ณ๊ฒฝํ๋ฉด ๋๋ฏ๋ก ์ ์ง๋ณด์๊ฐ ์ฌ์์ง๋ค.
'JAVA > ๊ฐ๋ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ถ์ํด๋์ค ( abstract )/ java (0) | 2020.02.16 |
---|---|
๋ฉค๋ฒ๋ณ์ ์ด๊ธฐํ ๋ฐฉ๋ฒ/๋ช ์์ ์ด๊ธฐํ/์ด๊ธฐํ ๋ธ๋ญ vs ์์ฑ์/java (0) | 2020.02.09 |
[Java] ์ง์ญ๋ณ์์ ์ ์ญ๋ณ์ (0) | 2020.02.06 |