궁금한 내용을 검색해보세요!
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서근 개발노트
티스토리에 팔로잉
SWIFT/Grammar

Swift : 기초문법 [어노테이션(annotations) 타입]

서근
QUOTE THE DAY

-
Written by SeogunSEOGUN

반응형

타입 추론(Type Inference)

Swift는 생성 될 때 주어진 값에 따라 각 변수와 상수에 유형을 할당합니다. 따라서 아래와 같은 코드를 작성하면 문자열 String이 포함되어 있음을 알 수 있습니다.

let str = "Hello, playground"

위 사진과 같이 자동으로 String값으로 할당되었습니다. 이렇기에 나중에 IntBool을 할당 할 수 없습니다. 이를 유형 추론(type inference)이라고합니다. Swift는 생성 방법에 따라 어떤 유형을 추론 할 수 있습니다.

 

다음과 같이 Swift의 유형 추론에 의존하지 않고 데이터 유형에 대해 명시 할 수 있습니다.

어노테이션 타입

let album: String = "Dynamite"
let year: Int = 2020
let height: Double = 1.78
let taylorRocks: Bool = true

유형 추론

'Booleans'은 정수의 짧은 유형 이름인 Int 와 같은 방식으로 짧은 유형 이름인 Bool 을 가집니다.

let album = "Dynamite"
let year = 2020
let height = 1.78
let taylorRocks = true

어노테이션 타입

타입 어노테이션이란, 변수나 상수를 선언할 때 그 타입을 명시적으로 선언해 줌으로써 어떤 타입의 값이 저장될 것인지를 컴파일러에 직접 알려주는 문법. 변수나 상수명 뒤에 콜론 : 을 붙이고, 이어서 저장될 값의 타입을 작성 합니다.

var year : Int // 명시적인 Int 타입
var name : String // 명시적인 String 타입
var firstChr : Character // 명시적인 Character 타입
var distance : Double // 명시적인 Double 타입
var pi : Float // 명시적인 Float 타입
var flag : Bool //  명시적인 Bool 타입
// 타입을 명시한 변수 선언
var name : String = "김서근"
var year : Int = 1995

// 타입을 명시한 상수 선언
let firstName : String = "서근"
let birthYear : Int = 1995

위의 주어진 구문은 모두 네 개의 변수와 상수가 선언되어 있습니다.

이같은 타입 어노테이션을 통한 컴파일러는 추론 없이 각각의 변수나 상수 타입을 정확히 인지할 수 있습니다.

Swift에 어노테이션 유형이 있는 이유는?

Swift를 배울 때 자주 묻는 질문은,

"Swift에 어노테이션 유형이있는 이유는 무엇입니까?"

이며 일반적으로 "Swift에서 어노테이션 유형을 사용해야하는 경우" 가 뒤 따릅니다.

 

첫 번째 질문에 대한 대답은 주로 다음 세 가지 이유 중 하나입니다.

  1. Swift는 어떤 유형을 사용해야하는지 파악할 수 없습니다.
  2. Swift가 기본값과 다른 유형을 사용하기를 원합니다.
  3. 아직 값을 할당하고 싶지 않습니다.

첫 번째는 일반적으로 고급 코드에서만 발생합니다.

 

예를 들어 인터넷에서 일부 데이터를 로드하는 경우, 유명한 연예인 이름은 모든 사람들이 알고 있지만 Swift는 이를 미리 알 수 없으므로 이를 알려줘야 합니다.

 

두 번째는 Swift를 더 깊게 배울 때 일반적인 것이지만, 간단한 예를 들자면 어디에서나 n.n (소수점)을 계속 쓸 필요 없이 이중 변수(double variable)를 만드는 것입니다.

var percentage: Double = 99

ercentage = 99.0 의 값으로 double 을만듭니다. 우리는 Int 를 할당했지만 유형 주석을 사용하면 원하는 실제 데이터 유형이 Double 이라는 것을 분명히 알 수 있습니다.

 

세 번째는 변수가 존재할 것이라고 Swift에 알리고 싶지만 아직 그 값을 설정하고 싶지 않을 때 발생합니다. 이것은 Swift의 많은 곳에서 발생하며 다음과 같습니다.

var name: String

name 에 나중에 String 을 할당할 수 있지만 Swift는 그것이 유효하지 않다는 것을 알고 있기 때문에 다른 유형을 할당 할 수 없습니다.

언제 Swift에서 타입 어노테이션을 사용해야합니까?

의 질문에 대답 일반적으로 개인 스타일에 따라 다르기 때문에 훨씬 더 주관적입니다.

 

보통은 어노테이션타입을 사용하는 것을 추천합니다.

 

즉, Swift가 사용자가 저장 한 데이터를 기반으로 사물의 유형을 파악하도록합니다.그 이유는 다음과 같습니다.

  1. 내 코드를 더 짧고 쉽게 읽을 수 있습니다.
  2. 초기 값을 변경하여 유형을 변경할 수 있습니다.

예시

var sales: Double = 100_000
var distance: Double = 320

지금까지 배운것을 요약하자면...

  1. 변수를 만들때는 : var 상수를 만들때는 : let. 가능하면 자주 상수let를 사용하는 것이 좋습니다.
  2. 문자열은 큰 따옴표"로 시작하고 끝나지만, 여러 줄에 걸쳐 실행하려면 큰 따옴표 세 세트"""를 사용해야합니다.
  3. 인티저Int는 정수를 보유하고 더블double은 소수를 보유하며 부울Booltrue 또는 false 를 보유합니다.
  4. 문자열 보간(interpolation)을 사용하면 다른 변수 및 상수에서 문자열을 생성하여 해당 값을 문자열 안에 배치 할 수 있습니다. \()
  5. Swift는 어노테이션타입(유형추론)을 사용하여 각 변수 또는 상수에 유형을 할당하지만 원하는 경우 명시적 유형을 제공합니다.

 

Annotations TEST: 문제를 풀려면 이곳을 클릭해주세요.

 

 

읽어주셔서 감사합니다🤟

 


잘못된 내용이 있으면 언제든 피드백 부탁드립니다.


서근


위처럼 이미지 와 함께 댓글을 작성할 수 있습니다.