JavaRush /Java Blog /Random-KO /์ธํ„ฐ๋ทฐ์—์„œ์˜ ๋‹คํ˜•์„ฑ
glu4it
๋ ˆ๋ฒจ 25
ะฅะฐั€ัŒะบะพะฒ

์ธํ„ฐ๋ทฐ์—์„œ์˜ ๋‹คํ˜•์„ฑ

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์•ˆ๋…•ํ•˜์„ธ์š”, ์ž๋ฐ”๋ผ์‹œ์ธ ์—ฌ๋Ÿฌ๋ถ„. ํ™•์‹คํžˆ ์ธํ„ฐ๋ทฐ์— ์‘ํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ์€ ๋‹คํ˜•์„ฑ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €๋Š” ๊ท€ํ•˜์˜ ๋‹ต๋ณ€๊ณผ ๋ฉด์ ‘๊ด€์˜ ๋‹ต๋ณ€์— ๋Œ€ํ•œ ํ‰๊ฐ€์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” 2๋ฒˆ์˜ ๋ฏธ๋‹ˆ ์ธํ„ฐ๋ทฐ๋ฅผ ๊ฐ€์กŒ์œผ๋ฉฐ ๋‹คํ˜•์„ฑ์— ๋Œ€ํ•ด ์งˆ๋ฌธํ–ˆ๊ณ  ๊ฐ๊ฐ์˜ ์ธํ„ฐ๋ทฐ์—์„œ ๋ฉด์ ‘๊ด€์€ ๋‚ด ๋Œ€๋‹ต์— ๋งŒ์กฑํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ, ๋‚ด ๋Œ€๋‹ต์€ ์ƒ์œ„ ํด๋ž˜์Šค ์ฐธ์กฐ๋ฅผ ํ•˜์œ„ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด์— ์žฌ์ •์˜ํ•˜๊ณ  ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์š”์•ฝ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ™์€:
์ธํ„ฐ๋ทฐ์—์„œ์˜ ๋‹คํ˜•์„ฑ - 1
class Parent{
    void saySomething(){
        System.out.println("Parent!");
    }
}
class Child1 extends Parent{
    @Override
    void saySomething(){
        System.out.println("Child1!");
    }
}

class Child2 extends Parent{
    @Override
    void saySomething(){
        System.out.println("Child2!");
    }
}

class Test{
    public static void main(String[] args){
        Parent p1 = new Parent();
        Parent p2 = new Child1();
        Parent p3 = new Child2();
        p1.saySomething();
        p2.saySomething();
        p3.saySomething();
    }
}
---------------
Output:
Parent!
Child1!
Child2!
์˜ค๋ผํด ํ™ˆํŽ˜์ด์ง€ ์— ๋‚˜์™€ ์žˆ๋Š” ๋‚ด์šฉ์ด ๋ฐ”๋กœ ์ด ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค . Ivan Golovach๋Š” Java์˜ ๋‹คํ˜•์„ฑ์ด ์ƒ์†(์˜ˆ์ œ์—์„œ ๋ณด์—ฌ์ค€ ๊ฒƒ)๊ณผ ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋œ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ง„์‹ค์€ ์–ด๋””์— ์žˆ์œผ๋ฉฐ ์ธํ„ฐ๋ทฐ์—์„œ ๋Œ€๋‹ตํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ณง ์ค‘์š”ํ•œ ์ธํ„ฐ๋ทฐ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ฒ‰๋ณด๊ธฐ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์ด๋Š” ์ด ์งˆ๋ฌธ์„ ๋‹ค์‹œ ๋ง์น˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION