본문 바로가기

JAVA

"오버라이딩 정의와 오버라이딩 규칙을 말할 수 있나요?

<오버라이딩 정의>

- 객체 지향 프로그래밍에서 서브클래스 또는 자식 클래스가 자신의 슈퍼클래스들 또는 부모 클래스들 중 하나        에   의해 이미 제공된 메소드를 특정한 형태로 구현하는 것을 제공하는 언어의 특징

 부모가 갖는 메소드를 자식에서 재정의하는 것

- 다형성(Polymorphism): 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로, 프로그램 언어의 각 요소들(상수, 변수, 식, 오브젝트, 함수, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질

→ 여러가지 형태를 가질 수 있는 능력 

<오버라이딩 규칙>

- 부모랑 이름 같아야하고 리턴타입과 매개변수도 똑같아야 한다

- 변수 이름은 달라질수 있다

접근제어자 부모와 같거나 확장

- throws 부모와 같거나 축소 


※ 접근제한자는 부모와 같거나 확장해야 함!!

부모클래스               자식클래스

디폴트         ---->     디폴트,protected,public

protected   ---->     protected,public

public          ---->     public