Java

[JAVA] 3. 오버로딩(overloading) vs 오버라이딩(overriding)

히비스 2021. 4. 29. 15:32
  • 오버로딩(overloading) - 확장

public void print(String stringData) {}

public void print(int intData, String stringData) {}

 

- 두 메소드처럼 이름만 같고, 매개 변수가 다른 것이 오버로딩.

 - "같은 역할을 하는 메소드는 같은 메소드 이름을 가져야 한다.

    다만, 전달하는 매개변수의 타입과 갯수는 여러가지이므로 매개변수 선언만 다르게 한다."

 

  • 오버라이딩(overriding) - 덮어 씀 (부모 클래스의 기능은 무시하고 자식 클래스에서 덮어 씀)

- 자식 클래스에서 부모 클래스에 있는 메소드와 동일하게 선언하는 것을 "메소드 overriding"이라 함.

- overriding된 메소드는 부모 클래스와 동일한 리턴 타입을 가져야만 함.

- overriding된 메소드의 접근 제어자는 부모 클래스에 있는 메소드와 달라도 되지만,

   접근 권한이 확장되는 경우에만 허용.

 

 

 

 

 

 

*** 자바의 신(이상민 저)을 공부한 내용 중에 기억해야 할 개념들을 정리해 놓은 글 입니다.***