본문 바로가기

Programming/Swift for Beginners

[Swift] 009 Strings (문자열) for beginners


지금까지 간략하게나마 수치 타입에 대해 알아보았습니다. 그러나 Swift에서 많이 사용되는 또 다른 타입은 문자열형입니다. Swift의 문자열은 한 개 또는 그 이상의 글자를 큰 따옴표(" ")로 묶어서 표현합니다.

완벽한 문자열 선언문은 다음과 같습니다.

아래 예제도 문자열 선언문입니다.

위의 예제들은 타입의 명확함과 타입 추론을 비교해 보여주는 것입니다. 첫번째 예제는 Swift가 타입을 결정하기 위해 값을 확인하는 것이고, 두 번째 예제는 타입을 명확하게 표현한 것입니다. 이 두 예제 모두 Swift에서는 올바른 표현입니다.

Stringing things together (문자열 조합)

문자열은 더하기(+) 연산자를 사용해 연결하거나 결합(concatenate)해서 더 큰 문자열을 만들 수 있습니다.

아래 예제는 더 큰 상수 문자열을 만드는 데 사용하는 상수 선언문입니다. 각기 다른 텍스트를 결합시키고 결합시킨 결과를 하나의 sentence 상수에 할당했습니다.

Characters have character (문자를 가지는 문자)

지금까지 본 타입은 Int(정수), Double(소수점을 포함한 실수), String(일련의 문자) 이렇게 총 3가지 입니다. 다음으로 살펴볼 타입은 문자형(Character type)으로 문자열의 특별한 경우입니다. 문자형의 변수나 상수는 큰따옴표로 묶인 단일 문자를 가지고 있습니다.

문자형을 명확하게 명시하지 않으면 큰 따옴표 안에 한 글자밖에 없을지라도 Swift는 문자열형이라고 추정하게 됩니다.문자형은 Swift가 추론하지 않는 타입입니다.

그리서 아래와 같이 수정을 해 보겠습니다.문자열이 한 개 또는 그 이상의 문자형 조합이라면 문자형에서 문자열형을 만들 수 있을것입니다.

문자열에 더하기(+) 연산자를 추가해 문자열형을 만들 수 있습니다. 그러나 "문자는 반드시 문자열형으로 변환해야 합니다."라는 조건을 넣어야 합니다.

문자열 연결이 섬세하지 않은 C 언어나 Objective-C 언어에 익숙한 개발자라면 위 예제가 매우 간단하다고 느낄 것입니다. 결국, 문자와 문자열을 더하기 연산자 하나로 연결하는 것이 C 언어의 stract() 함수나 Objective-C의 Foundation 클래스인 NSString 메서드 stringWithFormat: 를 사용하는 것보다는 매우 간단합니다. 이 점이 Swift가 다른 언어에 비해 간결함의 장점을 가지는 부분이라 하겠습니다. 문자열 연결은 숫자를 더하는 연산자를 사용해 간단하면서도 그 내용을 자세하게 표현하고 있습니다. 숫자를 더하는 얘기가 나왔으니 다음 시간에는 간단한 수학 문제를 다루어 보도록 하겠습니다.