클래스 - 오버로딩

황승현·2023년 12월 7일
0

코틀린 강의 정리

목록 보기
19/36

오버로딩

동일한 이름의 메서드를 여러 개 생성 가능

  • 매개변수(파라미터)의 개수를 다르게 하면 동일한 이름의 메서드 생성 가능
  • 매개변수(파라미터)의 자료형을 다르게 하면 동일한 이름의 메서드 생성 가능
  • 반환자료형(반환형)은 오버로딩에 영향 주지 않는다.
  • 오버로딩 예제
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

0개의 댓글