- 오버로딩(Overloading) : 같은 이름의 메서드를 여러개를 가지면서 매개변수의 유형과 개수가 다름
- 오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용
🤜🏻오버로딩(Overloading)
오버로딩은 메서드 오버로딩과 생성자 오버로딩이 있다.
같은 이름의 메서드를 여러개 정의하고 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답한다.
class OverloadingTest{ //이름이 cat인 메서드 void cat(){ System.out.println("매개변수 없음"); } //매개변수 int형이 2개인 cat 메서드 void cat(int a, int b){ System.out.println("매개변수 :"+a+", "+b); } //매개변수 String형이 한 개인 cat 메서드 void cat(String c){ System.out.println("매개변수 : "+ c); } }
🤜🏻오버라이딩(Overriding)
상속 시 상위 클래스가 가지고 있는 메서드를 하위 클레스가 상속받아 사용할 수 있고
하위 클래스에서 메서드를 재정의 해서 사용할 수 있음.
메서드의 이름이 같고 매개변수가 같고 반환형이 같을 때 상속받은 메서드를 덮어쓴다.
부모 클래스의 메서드는 무시하고 자식 클래스의 메서드 기능을 사용하겠다.
class Woman{ //부모클래스 public String name; public int age; //info 메서드 public void info(){ System.out.println("여자의 이름은 "+name+", 나이는 "+age+"살입니다."); } } class Job extends Woman{ //Woman클래스(부모클래스)를 상속받음 : String job; public void info() {//부모(Woman)클래스에 있는 info()메서드를 재정의 super.info(); System.out.println("여자의 직업은 "+job+"입니다."); } }
Uploaded by Notion2Tistory v1.1.0