Swift 타입 추론과 타입 어노테이션

타입 어노테이션(Type annotation)이란?,
변수나 상수를 선언할 때 그 타입을 명시적으로 선언 해 줌으로써 어떤 타입의 값이 저장될 것인지를 컴파일러에 직접 알려주는 문법 !


-> 스위프트의 특성중에 설계에 의한 안정성(Safety by design)이라고 아키텍쳐적인 안정성을 담보하기 위해 스위프트가 여러 장지를 도입했다는 것이 핵심! 그 중의 하나가 '타입 추론' 기능

  • 타입 어노테이션

    -> String과 Int타입으로 타입 어노테이션을 선언한 후에 초기값을 할당하고 있다. 이같은 타입 어노테이션을 통해 추론 없이 각각의 변수나 상수타입을 정확히 인지할 수 있다.

    밑에 사진 처럼 매번 타입을 명시해 줄 필요는 없습니다.
    스위프트에 내장된 타입 추론기가 변수의 초기값을 이용하여 타입이 무엇인지 추론해내기 때문이다.명시를 해주지 않아도 결과는 같다.
    이것이 '타입추론'이다 .

    하지만, 반드시 타입 어노테이션을 사용해야 하는 두 가지 경우가 있습니다.

    1) 선언과 초기화를 분리할 경우

    : ex) 선언과 초기화가 분리된 구문으로 작성될 경우 타입 추론을 위한 충분한 데이터가 없어 적잘한 타입을 추론할 수 없음 밑에 사진과 같은 경우는 타입 어노테이션을 사용하여 타입을 직접 지정해 주어야 한다.

    2) 타입 추론으로 얻어지는 타입이 아닌, 다른 타입을 직접 지정할 필요가 있을 때

    : 타입 추론으로 얻어지는 타입이 우리가 원하는 타입이 아닐때 타입 어노테이션을 사용하여 원하는 타입을 직접 지정해야함 

    단, 모든 타입을 마음대로 지정할 수 있는 것은 아님
    주로 Int타입 대신 Double or Float, String타입 대신 Character타입, Double 대신 Float를 지정하는 경우가 대부분

좋은 웹페이지 즐겨찾기