이렇게 설명하는 것보다는 코드를 보며 설명하겠습니다.
class Overloading{
void car(){
System.out.println("차 입니다.");
}
void car(int a){
System.out.println("총 차의 수는"+a+"개 입니다.");
}
void car(String str){
System.out.println("이 차의 이름은"+str+"입니다.");
}
}
위의 코드가 오버로딩 코드의 예시입니다. 이름이 car인 같은 메서드가 존재합니다. 차이라고 한다면 매개변수의 유형이 다르다는 것입니다. 이를통해 알 수 있는 것은 메서드의 이름은 같더라도 매개변수가 다르면 선언이 가능하다는 것입니다. 이렇게 선언을 한다면 메서드의 이름을 억지로 확장해야하는 경우가 줄어들고 사용자가 헷갈릴 일도 없다는 것입니다.
class Human{
public String name;
public int age;
public void myself(){
System.out.println("이름은 "+name+"이고 나이는"+age+"살 입니다.");
}
}
class Women extends Human{
public void myself(){
System.out.println("이름은 "+name+"이고 성별은 여자이고 나이는"+age+"살 입니다.");
}
}
class main
....
public static void main(String[] args){
Women women = new Women();
women.name = "민서";
women.age = 25;
이런식으로 이미 선언되어 있는 클래스을 상속받고 상속을 해주는 클래스를 부모 클래스라고 부르는데 부모 클래스에 정의되어있는 메서드를 수정할 수 있는 것입니다.