Part1. 변수와 상수 / 데이터 타입(DataType)

Swift 프로그래밍의 기본 원리와 데이터 타입

1. 변수와 데이터 타입

1) 변수

변수는 데이터를 담을 수 있는 공간으로, 프로그램 동작의 핵심입니다. 값을 저장하고 계산하는 데 사용됩니다.

var a = 3
var b = 7
var c = a + b
print(c) // 출력 결과: 10

2) 변수의 이름 규칙

변수의 이름은 소문자로 시작하며, 중간에 숫자를 사용할 수 있습니다. 특수문자나 한자, 한글도 사용 가능하지만 관습적으로 잘 사용하지 않습니다.

3) 변수 사용 예시

변수는 다양한 정보를 담을 수 있습니다. 값을 변경하거나 출력할 수도 있습니다.

var name = "홍길동"
var age = 20
var address = "서울 강남구"

print(name, age, address) // 출력 결과: 홍길동 20 서울 강남구
name = "전지현"
print("저의 이름은 \(name)입니다. 나이는 \(age)살이고, \(address)에서 살고 있습니다.")

4) String Interpolation(스트링 인터폴레이션)

스트링 인터폴레이션은 문자열 중간에 변수나 상수를 삽입하는 기법입니다. (변수) 형식으로 사용하며, 문자열에 동적인 데이터를 쉽게 포함시킬 수 있습니다.

var name = "임꺽정"
age = 30
print("저의 이름은 \(name)입니다. 나이는 \(age)살이고, \(address)에서 살고 있습니다.")

2. 상수

상수는 변하지 않는 데이터를 담을 수 있는 공간으로, 한 번 할당되면 변경할 수 없습니다.

let name2 = "김철수"
// name2 = "이나영" // 오류! 상수는 변경할 수 없음

3. 데이터 타입

1) 데이터 타입의 이해

Swift에서 사용하는 데이터 타입은 다양한 형태의 정보를 다루는 데 사용됩니다.

  • Int: 정수

  • Float: 6자리 소수점 실수

  • Double: 15자리 소수점 실수

  • Character: 문자

  • String: 문자열

  • Bool: 참과 거짓

2) 데이터 타입 지정

데이터 타입을 지정하는 방법은 두 가지가 있습니다.

  • 타입 주석(Type Annotation): 변수를 선언할 때 타입을 명시적으로 지정합니다.

  • 타입 추론(Type Inference): 컴파일러가 변수의 초기값을 보고 타입을 유추합니다.

var i: Int = 4
var j: Int = 3

3) 타입 안정성과 변환

Swift는 데이터 타입을 엄격하게 다루며, 다른 타입끼리의 계산이 불가능합니다. 필요한 경우 타입을 변환하여 사용해야 합니다.

타입 변환은 Swift에서 서로 다른 데이터 타입 간의 값 변환을 의미합니다. 다른 데이터 타입으로 값을 변환하는 것은 코드 작성 및 데이터 처리에 유용합니다.

  • 타입 변환의 종류

Swift에서는 크게 두 가지 타입 변환 방법을 지원합니다:

  1. 명시적 타입 변환 (Explicit Type Conversion): 개발자가 명시적으로 타입 변환을 지정하는 방법입니다. 이 방법은 자료의 손실이 발생할 수 있으므로 주의해야 합니다.

  2. 암시적 타입 변환 (Implicit Type Conversion): Swift는 타입 추론을 통해 컴파일러가 자동으로 타입을 추정하여 변환하는 방법입니다. 자료의 손실이 없는 범위 내에서 수행됩니다.

  • 타입 변환의 예제

명시적 타입 변환 (Explicit Type Conversion)

swiftCopy codelet intValue = 42
let doubleValue = Double(intValue)  // Int를 Double로 명시적으로 변환

let stringValue = "123"
let intFromString = Int(stringValue)!  // String을 Int로 변환 (nil 값 처리에 주의)

암시적 타입 변환 (Implicit Type Conversion)

swiftCopy codelet intValue = 42
let doubleValue = Double(intValue)  // 암시적 타입 변환 (자료 손실 없음)

let intResult = intValue + Int(doubleValue)  // Double을 Int로 암시적 타입 변환
  • 타입 확인 및 타입 캐스팅

Swift에서는 런타임 중에 객체의 타입을 확인하고, 필요한 경우 해당 타입으로 캐스팅할 수도 있습니다.

swiftCopy codelet someValue: Any = 42

if let intValue = someValue as? Int {
    print("intValue is \(intValue)")
} else if let doubleValue = someValue as? Double {
    print("doubleValue is \(doubleValue)")
} else {
    print("Unknown type")
}

위 예제에서 as? 키워드를 사용하여 타입을 확인하고 캐스팅합니다.

  • 타입 변환 예제: 숫자와 문자열 간의 변환

swiftCopy codelet intValue = 42
let doubleValue = 3.14159
let stringValue = "123"

let intFromDouble = Int(doubleValue)  // Double을 Int로 변환
let doubleFromInt = Double(intValue)   // Int를 Double로 변환

let intFromString = Int(stringValue)!  // String을 Int로 변환 (nil 값 처리에 주의)
let stringFromInt = String(intValue)   // Int를 String으로 변환

print(intFromDouble)   // 출력: 3 (정수부분만 취함)
print(doubleFromInt)   // 출력: 42.0
print(intFromString)   // 출력: 123
print(stringFromInt)   // 출력: "42"
  • 다양한 타입 변환

Swift에서는 다양한 데이터 타입 간의 변환을 지원하며, 간편하게 값을 변환하여 활용할 수 있습니다.

4. 결론

변수와 상수, 그리고 데이터 타입은 Swift 프로그래밍의 핵심 개념 중 하나입니다. 올바른 변수와 데이터 타입의 활용은 프로그램의 효율성과 가독성을 높일 수 있습니다. 기본 원리와 데이터 타입을 이해하고 적절히 활용해보세요.


댓글을 작성해보세요.

채널톡 아이콘