GiantStepDEV
article thumbnail

super

์ž์‹ ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจ ํด๋ž˜์Šค๋กœ ๋ถ€ํ„ฐ ์ƒ์† ๋ฐ›์€ ํ•„๋“œ(๋ฉค๋ฒ„)๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ณ€์ˆ˜
ํด๋ž˜์Šค ๋‚ด์˜ ๋ฉค๋ฒ„๋ณ€์ˆ˜์™€ ์ง€์—ญ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด ๊ฐ™์„ ๊ฒฝ์šฐ ๊ตฌ๋ถ„์„ ์œ„ํ•ด this. ๋ฅผ ์‚ฌ์šฉํ•˜๋“ฏ์ด
๋ถ€๋ชจ ํด๋ž˜์Šค์™€ ์ž์‹ ํด๋ž˜์Šค ์ƒ์„ฑ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ!
import ๋‹คํ˜•์„ฑ์‘์šฉ1_0116.Product;

public class SuperFieldEx1 {
    public static void main(String[] args) {
        ChildEx childex = new ChildEx();
        childex.childMethod();
    }
}
class ParentEx {
    int x = 10;
}

class ChildEx extends ParentEx {
    int x = 20;

    void childMethod() {
        System.out.println("x = " + x);
        System.out.println("this.x = " + this.x);
        System.out.println("super.x = " + super.x);
    }
}

super()

๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์†Œ๋“œ (์ž์‹์˜ ์ƒ์„ฑ์ž ๋‚ด์—์„œ ํ˜ธ์ถœ)
์ž์‹์˜ ์ƒ์„ฑ์ž์—์„œ ๋ถ€๋ชจ์˜ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ!!! ๋ถ€๋ชจ์˜ ์ƒ์„ฑ์ž๋ฅผ ๋จผ์ € ํ˜ธ์ถœํ•˜๊ณ  ๋‹ค๋ฅธ ์ดˆ๊ธฐํ™” ์ง„ํ–‰
์ƒ์„ฑ์ž๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ...
๋ถ€๋ชจ์˜ ์ƒ์„ฑ์ž๋ฅผ ๋ณ„๋„๋กœ ๋งŒ๋“ค์–ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถ€๋ชจ์˜ ์ƒ์„ฑ์ž๊ฐ€ ์ž๋™ ํ˜ธ์ถœ๋จ.

Parent

class Parent {
    int a;
    Parent() {
        System.out.println("๋ถ€๋ชจ์˜ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž ํ˜ธ์ถœ");
        a = 10;
    }
    Parent(int n) {
        System.out.println("๋ถ€๋ชจ์˜ ์ƒ์„ฑ์ž ํ˜ธ์ถœ");
        a = n;
    }

}

Child

class Child extends Parent {
    int b;
    Child() {
        super(200); // super๋Š” ์ž์‹ ์ƒ์„ฑ์ž๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ „์— ํ˜ธ์ถœํ•ด์•ผ ํ•จ.!!!!!!
        System.out.println("์ž์‹์˜ ์ƒ์„ฑ์ž ํ˜ธ์ถœ");
        b = 20;
    }
    void display() {
        System.out.println(a);
        System.out.println(b);
    }
}

Main

public class SuperField {
    public static void main(String[] args) {
        System.out.println("main ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ");
        Child child = new Child();
        child.display();

    }
}

 

<์ถœ๋ ฅํ™”๋ฉด>
main ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
๋ถ€๋ชจ์˜ ์ƒ์„ฑ์ž ํ˜ธ์ถœ
์ž์‹์˜ ์ƒ์„ฑ์ž ํ˜ธ์ถœ
200
20
๋ฉ”์ธ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ -> ๋ถ€๋ชจ ์ƒ์„ฑ์ž ํ˜ธ์ถœ -> ์ž์‹ ์ƒ์„ฑ์ž ํ˜ธ์ถœ ์ˆœ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰

 

profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!