오버라이딩 & 오버로딩

hyeongirlife·2022년 2월 1일
0

TIL

목록 보기
56/90
post-thumbnail

✍ 오버라이딩

상위 클래스가 가지고 있는 메소드를 하위 클래스에서 재정의해서 사용하는 것을 의미한다.

오버로딩은 메서드 오버로딩과 생성자 오버로딩이 있다. 하지만 둘 다 같은 개념이다.

같은 이름의 함수(메소드)를 여러개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답할 수 있게 된다.

class OverloadingTest{
  void cat(){
    System.out.println("매개변수 없음")
  }
  void cat(int a, int b){
    System.out.println("매개변수: "+a+","+b)
  }
  void cat(String c){
    System.out.println("매개변수: "+c)
  }
}

✍ 오버로딩

같은 이름의 메소드를 여러 개 가지면서 매개변수의 타입과 개수를 다르게 하여 정의하는 것을 의미한다. 즉, 메소드의 시그니처를 다르게 하여 정의하는 것이다.

class Woman{
  public String name;
  public int age;
  
  public void info(){
    System.out.println("여자의 이름은 "+name+", 나이는 "+age+"살입니다.")
  }
}
class Job extend Woman{
  String job;
  public void info(){
    super.info()
    System.out.println("여자의 직업은 "+job+"입니다.")
  }
}
구분오버로딩오버라이딩
메소드 이름동일동일
매개변수,타입다름동일
반환타입상관없음동일
profile
머릿속에 있는 내용을 정리하기

0개의 댓글