⚡ 오버라이딩 / 오버로딩

sonjh919·2023년 10월 18일
0

Java

목록 보기
23/28
post-thumbnail

📌 오버라이딩(Overriding)

  • 부모 클래스와 자식 클래스의 메소드 사이에 발생하는 관계
  • 부모 클래스에 있는 메소드를 자식 클래스에서 재작성하는 것
  • 오버라이딩은 동적 바인딩을 유발시킨다.

💡 동적 바인딩
실행할 메소드를 컴파일 시에 결정하지 않고 실행(runtime) 시에 결정하는 것
오버라이딩된 메소드가 항상 실행하도록 보장한다.

  • 오버라이딩 시 @Override라는 주석문(annotation)을 사용한다.
  • super.부모클래스의멤버를 이용해 정적 바인딩으로 부모 클래스의 멤버에 접근 가능하다.

💡 정적 바인딩
실행할 메소드를 컴파일 시에 결정하는 것

🌈 오버라이딩의 특징

  1. 부모 클래스의 메소드와 동일한 원형으로 작성한다.
  2. 부모 클래스 메소드의 접근 지정자보다 접근 범위를 좁여 오버라이딩 할 수 없다.
  3. static, private 또는 final로 선언된 메소드는 오버라이딩 할 수 없다.

📌 오버로딩

  • 같은 이름의 메소드를 중복하여 정의하는 것
int A(int i){}
int A(int i, int j){}

📌 오버라이딩 vs 오버로딩

0개의 댓글