언어/Swift 5
[Swift 5] 함수의 오버로딩(Overloading)이란?
hoony_
2020. 3. 24. 00:06
반응형
오버로딩(Overloading)
같은 함수의 이름을 가지고 있지만 파라미터를 다르게 하여 다양한 유형의 호출에 응답이 가능한 것. 같은 이름, 다른 행동!!
func sportsBrand(brand: String){
print(brand)
}
func sportsBrand(brand: String){
print(brand)
}
|
함수 이름이 위 코드처럼 중복되는 경우에는 사용할 수 없다. 이런 경우 오버로딩을 사용하여 함수를 여러개 만들 수 있다.
func sportsBrand(brand: String){
print(brand)
}
func sportsBrand(brand2: String){
print(brand2)
}
sportsBrand(brand: "Nike")
sportsBrand(brand2: "Adidas")
|
위 코드처럼 함수의 파라미터 이름을 바꾸어서(brand와 brand2) 구분 짓거나
func luckyNumber(input: String){
print("문자열 형태의 행운의 숫자 : \(input)")
}
func luckyNumber(input: Int){
print("정수형 형태의 행운의 숫자 : \(input)")
}
luckyNumber(input: "Seven")
luckyNumber(input: 7)
|
데이터 타입이 다른 경우(String과 Int) 함수를 호출하여 사용할 수 있다. 또한 파라미터 개수가 달라도 구분하여 사용할 수 있다.
func luckyNumber(input: String){
print("문자열 형태의 행운의 숫자 : \(input)")
}
func luckyNumber(input: Int){
print("정수형 형태의 행운의 숫자 : \(input)")
}
func luckyNumber(input: Int, input2: String){
print("정수형, 문자열 형태의 행운의 숫자 : \(input), \(input2)")
}
luckyNumber(input: "Seven")
luckyNumber(input: 7)
luckyNumber(input: 7, input2: "Seven")
|
반응형