야곰의 스위프트 프로그래밍
    • 01
      스위프트 시작하기
    • 시작 전 필독사항
      이름짓기, 콘솔로그, 문자열 보간법
    • 02
      문법
    • 상수와 변수
      기본 데이터 타입
      Any, AnyObject, nil
      컬렉션 타입
      함수 기본
      함수 고급
      조건문
      반복문
      옵셔널
      옵셔널 값 추출
      구조체
      클래스
      열거형
      값 타입과 참조 타입
      클로저
      다양한 클로저표현
      프로퍼티
      프로퍼티 감시자
      상속
      인스턴스의 생성과 소멸
      옵셔널 체이닝과 nil 병합 연산자
      타입캐스팅
      assert와 guard
      프로토콜
      익스텐션
      오류처리
    • 03
      고차함수 활용
    • 고차함수
    • 04
      마무리
    • 더 알아보기
    다양한 클로저표현
    배우기
    02 문법
    다양한 클로저표현

    클로저는 다양한 모습으로 표현될 수 있습니다.
    함수의 매개변수 마지막으로 전달되는 클로저는 후행클로저(trailing closure)로 함수 밖에 구현할 수 있습니다.

    컴파일러가 클로저의 타입을 유추할 수 있는 경우 매개변수, 반환 타입을 생략할 수 있습니다.

    반환 값이 있는 경우, 암시적으로 클로저의 맨 마지막 줄은 return 키워드를 생략하더라도 반환 값으로 취급합니다.

    전달인자의 이름이 굳이 필요없고, 컴파일러가 타입을 유추할 수 있는 경우 축약된 전달인자 이름(<img src="/texconverter?eq=0%60%2C%20%60">1, <img src="/texconverter?eq=2%60...)%EC%9D%84%20%EC%82%AC%EC%9A%A9%20%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%0A%0A%23%23%20%ED%9B%84%ED%96%89%20%ED%81%B4%EB%A1%9C%EC%A0%80%0A%ED%81%B4%EB%A1%9C%EC%A0%80%EA%B0%80%20%ED%95%A8%EC%88%98%EC%9D%98%20%EB%A7%88%EC%A7%80%EB%A7%89%20%EC%A0%84%EB%8B%AC%EC%9D%B8%EC%9E%90%EB%9D%BC%EB%A9%B4%20%EB%A7%88%EC%A7%80%EB%A7%89%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%83%9D%EB%9E%B5%ED%95%9C%20%ED%9B%84%20%ED%95%A8%EC%88%98%20%EC%86%8C%EA%B4%84%ED%98%B8%20%EC%99%B8%EB%B6%80%EC%97%90%20%ED%81%B4%EB%A1%9C%EC%A0%80%EB%A5%BC%20%EA%B5%AC%ED%98%84%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%0A%0A%0A%23%23%20%EB%B0%98%ED%99%98%ED%83%80%EC%9E%85%20%EC%83%9D%EB%9E%B5%0A%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%EA%B0%80%20%EB%B0%98%ED%99%98%20%ED%83%80%EC%9E%85%EC%9D%84%20%EC%9C%A0%EC%B6%94%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EA%B2%BD%EC%9A%B0%EC%97%90%EB%8A%94%20%ED%81%B4%EB%A1%9C%EC%A0%80%EC%97%90%EC%84%9C%20%EB%B0%98%ED%99%98%ED%83%80%EC%9E%85%EC%9D%84%20%EB%AA%85%EC%8B%9C%ED%95%B4%20%EC%A3%BC%EC%A7%80%20%EC%95%8A%EC%95%84%EB%8F%84%20%EB%90%A9%EB%8B%88%EB%8B%A4.%20%0A%EB%8C%80%EC%8B%A0%20%60in%20%ED%82%A4%EC%9B%8C%EB%93%9C%EB%8A%94%20%EC%83%9D%EB%9E%B5%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%60%0A%0A%0A%23%23%20%EB%8B%A8%EC%B6%95%20%EC%9D%B8%EC%9E%90%EC%9D%B4%EB%A6%84%0A%ED%81%B4%EB%A1%9C%EC%A0%80%EC%9D%98%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%20%EC%9D%B4%EB%A6%84%EC%9D%B4%20%EA%B5%B3%EC%9D%B4%20%EB%B6%88%ED%95%84%EC%9A%94%ED%95%98%EB%8B%A4%EB%A9%B4%20%EB%8B%A8%EC%B6%95%20%EC%9D%B8%EC%9E%90%EC%9D%B4%EB%A6%84%EC%9D%84%20%ED%99%9C%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%EB%8B%A8%EC%B6%95%20%EC%9D%B8%EC%9E%90%EC%9D%B4%EB%A6%84%EC%9D%80%20%ED%81%B4%EB%A1%9C%EC%A0%80%EC%9D%98%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EC%9D%98%20%EC%88%9C%EC%84%9C%EB%8C%80%EB%A1%9C%20%60">0, <img src="/texconverter?eq=1%60%2C%20%60">2... 처럼 표현합니다.

    암시적 반환 표현

    클로저가 반환하는 값이 있다면 클로저의 마지막 줄의 결과값은 암시적으로 반환값으로 취급합니다.

    실습 내용
    클로저는 다양한 모습으로 표현할 수 있습니다. 잘 알아두지 않으면 나중에 애먹기 쉬운 문법입니다. 꼭 꼭 잘 익혀두세요.
    질문하기