기본 (The Basics) - 상수와 변수 (Constants and Variables)

00yhsp·2024년 3월 28일

Swift는 정수에 대한 Int, 부동 소수점 값에 대한 Double, 불리언 값에 대한 Bool, 그리고 텍스트에 대한 String을 포함하는 많은 기본적인 데이터 타입을 제공한다.
Swift는 또한 Array, Set, 그리고 Dictionary인 3개의 기본 콜렉션 타입을 제공한다.

Swift 변수는 식별 가능한 이름으로 값을 저장하고 참고한다.
또한, 값을 변경할 수 없는 변수를 광범위하게 사용한다.
이러한 변수를 상수라고 하며, 값을 변경할 필요가 없을 때 코드를 더 안전하고 명확하게 만들기 위해 사용한다.

익숙한 타입 외에도 Swift는 튜플(tuple)이라는 고급 타입이 있다.
튜플은 값을 그룹화하여 생성하거나 전달할 수 있다.
튜플을 사용하여 함수가 여러 값을 단일 복합 값으로 반환할 수 있다.

Swift는 값이 존재하지 않는 상태를 처리하기 위해 옵셔널(Optional) 타입이 있다.
옵셔널은 "값이 있고 x와 같다" 또는 "값이 없다"를 알려준다.

Swift는 타입-세이프(type-safe)언어이다.
타입 세이프란, 언어가 값에 대해 타입을 명확히 인지하도록 돕고 코드에서 타입에 맞게 동작할 수 있도록 하는 것이다.
타입 세이프티는 만약 String을 요구하는 코드에서 실수로 Int로 전달하는 것을 막아준다.
마찬가지로, 옵셔널이 아닌 String을 요구하는 코드에서 옵셔널 String을 전달하는 것을 막아 준다.
타입 세이프티는 개발 단계에서 빠르게 에러를 찾고 고칠 수 있게 도와준다.

상수와 변수 (Constants and Variables)

상수와 변수는 이름(maximumNumberOfLoginAttempts 또는 welcomeMessage)과 특정 타입(숫자 10 또는 문자열 "Hello"와 같은 타입)의 값을 연결한다.
상수의 값은 최초 지정 후 변경이 불가능하지만 변수는 다른 값으로 변경이 가능하다.

상수와 변수 선언 (Declaring Constants and Variables)

상수와 변수는 사용하기 전에 반드시 선언이 되어야 한다.
상수는 let 키워드와 함께 선언하고 변수는 var 키워드와 함께 선언한다.
다음의 예제는 상수와 변수를 사용하여 어떻게 사용자 로그인 시도 횟수를 추적하는지 보여준다.

let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0

이 코드는 아래와 같이 읽을 수 있다:
"maximumNumberOfLoginAttempts인 새로운 상수를 선언하고 10이라는 값을 설정한다. 그리고 currentLoginAttempt인 새로운 변수를 선언하고 0이라는 값으로 초기화했다."

이 예제에서 최대 로그인 시도 횟수는 최대값은 절대 변경되지 않아야 하므로 상수로 선언했다.
현재 로그인 시도 횟수는 로그인 실패 시 값을 증가시켜야 하므로 변수로 선언했다.

코드에서 저장된 값이 변경되지 않으면, let 키워드로 상수로 선언한다.
변경되는 값을 저장하기 위해 변수를 사용한다.

상수 또는 변수로 선언할 때, 위의 예제처럼 선언의 부분으로 값을 줄 수 있다.
또는 처음 값을 읽기 전에 값의 존재가 보장되면 프로그램 마지막에 초기화 값을 할당할 수 있다.

var environment = "development"
let maximumNumberOFLoginAttempts: Int
// maximumNumberOfLoginAttempts has no value yet.

if environment == "development" {
	maximumNumberOfLoginAttempts = 100
} else {
	maximumNumberOfLoginAttempts = 10
}
// Now maximumNumberOfLoginAttempts has a value, and can be read.

이 예제에서 로그인 최대 시도 횟수는 상수이고, 이 값은 environment에 의존한다.
개발 환경에서는 100의 값을 가지고, 다른 환경에서는 10을 가진다.
if 구문의 각 조건에서 어떠한 값으로 maximumNumberOfLoginAttempts를 초기화하고, 이 상수는 항상 값이 있음을 보장한다.
여러개의 상수 또는 여러개의 변수를 선언할 때 콤마로 구분하여 한 줄로 선언이 가능하다.

var x = 0.0, y = 0.0, z = 0.0

상수와 변수 출력 (Printing Constants and Variables)

print(_:separator:terminator:) 함수로 상수 또는 변수의 현재 값을 출력할 수 있습니다.

print(friendlyWelcome)

print(:separator:terminator:) 함수는 하나 또는 그 이상의 값을 적절하게 출력하는 전역 함수이다.
예를 들어 Xcode에서 print(
:separator:terminator:) 함수는 Xcode 콘솔 창에 결과를 출력한다.
separator와 terminator 파라미터는 기본 값을 가지고 있으므로 함수를 호출할 때 생략할 수 있다.
기본적으로 이 함수는 줄바꿈을 출력하고 종료된다.
줄바꿈 없이 값을 출력하려면, print(someValue, terminator: "")와 같이 terminator에 빈 문자열을 넘겨주면 된다.

Swift는 긴 문자열에 상수 또는 변수의 이름을 포함하여 Swift가 상수 또는 변수의 현재 값으로 대체하기 위해 문자열 삽입(String interpolation)을 사용한다. 이름을 소괄호로 감싸고 여는 소괄호 전에 역슬래시를 추가해야 한다.

print("The current value of friendlyWelcome is \(friendlyWelcome)")
profile
iOS Dev

0개의 댓글