[JAVA] Overloading과 Overriding

kjihye0340·2021년 5월 6일
0

java

목록 보기
6/9

Overloading과 Overriding

Java에서 다형성을 보장하는 대표적인 기능들

다형성

  • 하나의 클래스 혹은 함수가 다양한 방식으로 동작
  • 프로그래밍의 효율성을 높여줌

Overloading

같은 이름의 method를 매개변수를 다르게 하여 여러개 만드는 것
컴파일 시에 같은 이름의 method 중 호출되는 method를 결정하는 정적 바인딩이 일어남

public void getNumber();
public void getNumber(int a, int b);
public void getNumber(double a);

Overriding

상위 클래스가 가지고 있는 method를 하위 클래스에서 재정의하는 것
method 이름, 매개변수, return type 다 상위 클래스의 method와 동일해야 함. 내용만 다르게!
실행 시간에 오버라이딩된 method를 찾아 호출하는 동적 바인딩이 일어남
단, static, private, final 메소드는 override가 일어나지 않음

class Player{
    public void play(){
    	System.out.println("play");
    }
}
class Artist extends Player{
   @Override
   public void play(){
    	System.out.println("draw");
    }
}

출처
https://programmingnote.tistory.com/29

0개의 댓글