[Swift 기초] 상수와 변수의 선언, 타입 변환

2022. 2. 17. 20:38Swift 기초 정리

728x90

//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎

 

 

 

스위프트는 함수형 프로그래밍 패러다임을 채용한 언어답게 불변 객체를 중요시 여긴다.

상수와 변수명은 유니코드 문자를 포함하여 어떤 문자든 사용할 수 있다.

 

1. 상수, 변수의 선언

  • 변수는 값이 가변적, 변수의 값을 변경할 수 없도록 할 때에는 상수(constant) 
  • 상수 선언 키워드: let
    • let 이름: 타입 = 값
     let constant: String = “차후에 변경이 불가능한 상수 let”
     //constant = “상수는 차후에 다른 값을 할당하면 ‘Cannot assign to value: constant’ is a ‘let’ constant’ 경고 발생”
  • 변수 선언 키워드: var
    • var 이름: 타입 = 값
    var variable: String = “차후에 변경이 가능한 상수 var”
    variable = “변수는 차후에 다른 값을 할당 할 수 있다.”​
  • 타입 명시(Type Annotations)와 형 추정
    • 상수나 변수를 만들 때 어떤 형태의 값이 저장될지 명확하게 타입을 명시할 수 있음: 암시적 타입(implicitly typed)
    • 값이 타입이 명확하다면 타입은 생략 가능(형 추정: 컴파일러가 타입형 추정할 수 있음): 명시적 타입(explicitly typed)
    var age = 40                //암시적타입
    let birthYear:Int = 1978    //명시적타입

 

2. 타입 변환(typecasting)

  • 타입 변환(typecasting): 변수의 값을 다른 타입의 값으로 변환하는 방법
    • 타입 변환을 하면 그 변수의 값을 지정된 타입의 값인 것처럼 사용할 수 있다.
  • 변수는 처음 선언될 때의 타입을 계속 유지한다. → 서로 다른 타입을 같이 사용하기 위해 타입 변환
    var fistValue:Double = 10.01
    firstValue = 10    //firstValue 변수는 Double 타입으로 선언되었으므로 10.0 값을 가짐
    
    var converFirstValue = Int(firstValue)    //10
    • 변수는 처음 선언될 때의 타입을 계속 유지하기 때문에 firstValue에 정수값 10을 대입해도 Double형 10.0 값을 가진다.
    • 타입변환을 해도 변수 자체의 타입이 달라지지 않기 때문에 firstValue는 여전히 Double 값을 가진다.
  • Int 타입으로 변환된 Double 타입의 값은 내림된다.
    var firstValue = 11.64
    print(Int(firstValue))    //11
  • 선언된 변수 타입은 영구적으로 변하지 않는다.

 

3. 나중에 값 할당하기

  • 나중에 할당하려고 하는 상수나 변수는 타입을 꼭 명시해주어야 한다.
  • 할당되지 않은 상태로 사용(print와 같이)하면 컴파일 에러 발생 - 초기화(initialized)되지 않은 상태로 사용
let sum: Int
let a = 1
let b = 1
sum = a + b

print (sum)
//2

sum = 2
//let 상수는 값을 변경할 수 없음

 

 

 

 

 

참고하였습니다. 감사합니다.

https://www.inflearn.com/course/스위프트-기본-문법/lecture/6500?tab=curriculum 

 

야곰의 스위프트 기본 문법 강좌 - 인프런 | 학습 페이지

지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요....

www.inflearn.com

https://www.inflearn.com/course/창원대학교-박동규-교수의-swift-기초-강좌/lecture/1888?tab=curriculum 

 

창원대학교 박동규 교수의 Swift 언어 기초 강좌 - 인프런 | 학습 페이지

지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요....

www.inflearn.com

23.06.27 수정) Swift 쉽게, 더 쉽게

https://www.yes24.com/Product/Goods/17652267

728x90