[이것이자바다] chapter . 오버로딩(Overloading) 과 오버라이딩(Overiding)

오버로딩(Overloading) 과 오버라이딩(Overiding)

오버로딩(Overloading)

오버로딩(Overloading)은 1.메소드 오버로딩과 생성자 오버로딩이 있다. 하지만 둘다 같은 개념이다.

public class Overloadingtest{

  //test() 호출
  void test(){
    System.out.println("매개변수 없음");
  }

  //test에 매개변수로 int형 2개 호출
  void test(int a, int b){
    System.out.println("매개변수 " + a + "와" +b);
  }

  //test에 매개변수 double형 1개 호출
  void test(double d){
    System.out.println("매개변수 " + d);
	}

}

오버라이딩(Overliding)

상위 클래스가 가지고 있는 멤버변수가 하위 클래스로 상속되는 것처럼
상위 클래스가 가지고 있는 메소드도 하위 클래스로 상속되어 하위 클래스에서 사용할 수 있다.
하지만, 하위 클래스에서 상위 클래스의 메소드를 재정의해서 사용 할 수도 있다.

==> 상속 관계에 있는 클래스 간에 같은 이름의 메소드를 정의하는 기술을 오버라이딩(Overriding)이라고 한다.

pulbic class Employee{

  String name;
  int age;
  
  //print() 메소드
  public void print(){
    System.out.prinln("사원의 이름은 " + this.name + "이고, 나이는 " +this.age + "입니다.");
	}
}

// Employee 상속
pulbic class Manager extends Employee{

  // 부모의 메소드를 재정의: Overriding
  @Override
  public void print(){
    System.out.prinln("매니저의 이름은 " + this.name + "이고, 나이는 " +this.age + "입니다.");
	}
}