본문 바로가기
IT/Java

자바 오버라이드(Override) 알아보기

by flatsun 2019. 1. 21.
반응형


자바 오버라이드 좌절스럽게 간단한데

학원 다닐 당시 뭐지? 했던걸 보면


내 잘못이 아니라 강사가 이상하게 가르쳤음에 분명하다

무능한 강사는 있어도 무능한 학생은 없다는 옛 말이 있지 않은가


어쨌든 오버라이드에 대해서 알아보지면

진짜 아무것도 아니다 엄청 쉽다


예제를 통해 한번 알아보자


일단 상속을 받아 올 부모 클래스를 하나 만들자

존나 간단하게 만들어야 이해도 쉽게 되니까


call 메소드를 하나 만들고

내용도 이것은 부모 메소드!! 이정도만 작성한 다음에

상속받을 자식 클래스를 만들어보자



클래스 이름을 OverrideChild로 해야 했었는데

어쩌다 보니 저렇게 되어버렸다


어쨌든 OverrideTest 클래스에서 extends를 통해

OverridParent 클래스를 상속받은 뒤


OverrideTest 클래스 내에 call 메소드를 작성해 보자

여기서 뭔가 느낄 수 있을 텐데


아니 부모 클래스에 call 메소드를 작성했는데

왜 자식 클래스에도 call 메소드를 작성하지?


이러면 중복이 되어서 안되는거 아닌가?


싶지만 출력을 해 보면..



이것은 자식 메소드!!!

부모 클래스에서 call() 메소드를 상속 받아서 사용할 수 있음에도

자식 메소드가 사용이 된다


이제 오버라이드가 뭔지 감이 올텐데


오버라이드(override) 란 부모 클래스에 있는 메소드 명을

자식 클래스에 똑같이 작성하는 것이다!!!


오버라이드를 통해 부모 클래스에 있는 메소드 명과 동일하게

자식 클래스에서 다시 정의할 수 있고 호출 시 

이름이 똑같아도 자식 클래스에 있는 메소드가 호출이 된다!!


마지막으로 저번에 super에 대해서 알아본 만큼

오버라이드를 했음에도 여전히 부모 메소드를 가져오는 방법이 있는데



super.메소드명을 사용해 부모 클래스의 메소드를 가져올 수 있다!!

출력해 보니 부모 메소드를 실행한 후 자식 메소드가 실행이 된다


오버라이드 면접가면 자주 물어보는데

이거 엄청 간단한 만큼 5분이면 조지니까 외워놓자



반응형

'IT > Java' 카테고리의 다른 글

자바로 구구단 만들어보기  (0) 2019.01.22
자바 오버로딩(Overloading) 알아보기  (0) 2019.01.22
자바 super 알아보기  (0) 2019.01.20
자바 상속 알아보기  (0) 2019.01.20
자바 this 알아보기  (0) 2019.01.19

댓글