반응형

오버로딩(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")
반응형

'언어 > Swift 5' 카테고리의 다른 글

[Swift 5] In-out 파라미터 사용 방법  (1) 2020.03.24
[Swift 5] 함수 사용 방법  (0) 2020.03.23
[Swift 5] Any와 nil에 대하여  (0) 2020.03.06

+ Recent posts