[Swift] 함수(Func) 파헤치기!

CHO·2023년 1월 23일
0

[Swift] 공부하기

목록 보기
3/13

1. 함수란?

func 이라는 키워드로 생성되는 것은 모두 함수이다!

        func travel() {
            print("stranger")
            print("First Time")
        }

이런 방식으로 사용된다!!
func 키우워드로 생성하면 하나의 값으로도 사용이 가능해진다.
스위프트에서 함수는 다른 언어들보다 훨~~씬 다양한 모습으로 존재한다!

2. 메서드란?

그러면 메서드는 도대체 뭘까?

    class Seoul {
        func travel() {
            print("stranger")
            print("First Time")
        }
    }

클래스, 구조체, 열거형에 포함되어 있는 '함수'를 의미한다.
즉 메서드도 func으로 시작하는 애들을 의미하는데, 그걸 어떤 상황에서~ 어떤 위치에서 쓰는지에 따라 '함수' 혹은 '메소드'라고 불리는 것! 둘 다 함수 형태니까~ 그냥 함수로 보겠다! (함수가 메소드보다 더 범위가 넓다!)

함수랑 클로저?

간단하게 이야기하면
클로저는 익명함수라고 한다! func 를 사용해서 이름 붙여주는 함수도 모두 클로저라고~

함수 정의 방식

함수 이름 매개변수 반환타입(return type) 등을 사용해 함수를 정의한다

매개변수란?
매개변수는 함수를 정의할 때 외부로부터 받아들이는 전달 값의 이름을 의미한다! 전달인자(Argument), 혹은 인자라는 애는 실제 호출할 때 전달하는 값을 말한다!

		func work(subject: String)-> String {
        // 실행구문
        return "work \(subject)"
    }

여기서~ 매개변수는 subject이고! 실제 사용시 전달받는 값은 String 타입의 어떤 값일 것이다!

    private func work(subject: String)-> String {
        // 실행구문
        return "work \(subject)"
    }
    
    let workBaking: String = work(subject: "baking")
}

이런 방식으로! 실제 사용시 전달받는 값인 baking 이 전달인자가 된다~~

+전달인자 레이블 : 전달인자 레이블 왜 쓰지? 이걸 지정하면 함수 외부에서 매개변수의 역할을 좀 더 명확하게 할 수 있다고!

func 함수이름(전달인자 레이블 / 매개변수 이름: 매개변수 타입, 전달인자 레이블 / 매개변수이름 :
매개변수타입) -> 반환타입 {

실행구문
return 반환값

}

참고자료
https://babbab2.tistory.com/77
야곰의 스위프트 프로그래밍 3판

profile
매일 개념 익히고 적용합니다

0개의 댓글