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; 
}
 
2)
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 ํ˜ธ์ถœ์„ ํ†ตํ•ด ์ดˆ๊ธฐํ™” ํ•ด์ฃผ๋ฏ€๋กœ ์ข€ ๋” ์ฝ”๋“œ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ํ• ์ˆ˜ ์žˆ๋‹ค.

   - ์ƒ์„ฑ์ž๋“ค์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋กœ ๊ด€๊ณ„๊ฐ€ ๊น‰์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์„œ ์„œ๋กœ ํ˜ธ์ถœํ•˜๋„๋ก ํ•˜์—ฌ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋ฉด ๋” ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์–ป์œผ์ˆ˜ ์žˆ๊ณ  ์ˆ˜์ •์ด ํ•„์š”         ํ•œ ๊ฒฝ์šฐ์—๋„ ์ ์€ ์ฝ”๋“œ๋งŒ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜๋ฏ€๋กœ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค.

 

 

 

 

 

 

+ Recent posts