오버로딩
동일한 이름의 메서드를 여러 개 생성 가능
- 매개변수(파라미터)의 개수를 다르게 하면 동일한 이름의 메서드 생성 가능
- 매개변수(파라미터)의 자료형을 다르게 하면 동일한 이름의 메서드 생성 가능
- 반환자료형(반환형)은 오버로딩에 영향 주지 않는다.
- 오버로딩 예제
fun add(num1:Int, num2:Int) : Int{
return num1+num2
}
fun add(num1:Double, num2:Double) : Double{
return num1+num2
}
오버로딩이 필요한 이유
- 두 개의 정수를 매개변수로 받아 더하는 메서드를 add라는 이름으로 만들었어요
- 하지만 두 개의 실수(소수)를 매개변수로 받아 더하는 메서드도 만들어야해요
- 더하는거니까 add라는 이름이 적합한데 어떻게 해야할까요?
- addInt, addDouble 이렇게 메서드를 따로 만드는건 나중에 관리하기 힘들어져요
- 이 상황에서는 더해야하는 자료형이 정수,실수로 다르니까 오버로딩으로 해결할 수 있어요
오버로딩과 오버라이딩

오버라이딩
부모 클래스의 메서드 또는 프로퍼티를 내가 원하는 내용으로 수정하는 것
오버로딩
메서드의 파라미터 개수나 자료형을 다르게해서, 같은 이름의 메서드이지만 다른 기능을 수행하도록 함
참고자료
https://software31.tistory.com/6