Swift 변수와 if문

  • 스위프트 언어 자체에 대해 알아본 데에 이어,
  • 이번 글에서는 스위프트 프로그래밍 언어의 변수와 조건문에 대해 알아보려고 한다.

스위프트 변수란?

  • 스위프트의 변수란 프로그램에서 데이터를 저장하는 공간을 의미한다.
  • 변수는 이름, 형, 메모리 주소, 값, 영역 등으로 특성을 구분 지어 볼 수 있다.
  • 이름은 말 그대로 변수를 구분하기 위해 사용되는 '이름'이다.
  • 형은 타입이라고도 하는데, 데이터의 자료형을 의한다.
  • 값은 변수에 들어가는 데이터를 의미한다.
  • 영역은 변수가 사용 가능한 범위를 의미한다.

스위프트 변수 문법

var name: Type = value
  • 위 코드에서 var은 변수를 선언하기 위한 키워드이고,
  • name은 변수명으로써 개발자가 원하는 이름을 임의로 설정할 수 있다.
  • Type은 변수의 자료형으로 뒤에서 더 자세히 다룰 것이다.
  • value는 변수에 대입되는 값이다.

스위프트 변수 이름 규칙

  • 개발자들이 좋은 변수 이름을 짓는 것이 가장 어렵다는 농담을 할 정도로 변수 이름은 중요하다.
  • 변수 이름을 짓는 데에는 규칙이 있다.
  • 우선, 변수의 이름으로 시스템 예약어를 사용할 수 없다.
  • 숫자는 변수의 이름으로 시작될 수 없다.
  • 하지만, 숫자는 변수의 이름에 포함될 수는 있다.
  • 즉, example1은 변수의 이름으로 사용이 가능하지만, 1example은 변수 이름으로 사용할 수 없다.
  • 변수의 이름에는 공백이 포함될 수 없다.
  • 마지막으로 관습적으로 변수 이름은 소문자로 시작되지만 단어를 구분 짓기 위해서는 대문자를 사용한다.
  • 예를 들면, lowerCamelCase 같은 변수 이름이 있다.

스위프트 변수 선언과 할당

var x: Int
  • 위 변수 문법에서 봤듯이 변수는 var이라는 키워드를 통해 선언이 된다.
var x: Int = 3
  • 그리고 변수의 값 할당은 대입 연사자인 = 을 통해 할당된다.

스위프트 자료형

  • 변수의 자료형에는 정수 Int, 실수 Double, 문자열 String, 불리언 Bool을 비롯해서 여럿 있다.
  • 하지만 이 4가지가 가장 대표적이고 많이 쓰인다.
  • 정수 자료형 Int는 정수형 데이터가 사용되는데, +와 -를 포함한 정수 데이터가 사용된다.
  • 불리언 Bool은 true(참), false(거짓) 단 두 가지 값을 갖는 자료형이다.
  • Double은 실수형 데이터인데, 64비트의 부동소수점을 사용해서 소수점 15자리까지 표현이 가능하다.
  • String은 문자열이라고도 부르는데, 유니코드로 이뤄져 있고 쌍 따옴표를("") 붙여 문자를 표현한다.

변수 vs 상수

  • 사실 변수와 상수의 차이점은 이름에서 그대로 나타난다.
  • 변수는 변할 수 있는 값이고 상수는 변할 수 없는 값이다.
  • 변수는 var 키워드를 통해 선언되고, 상수는 let 키워드를 통해 선언된다.
  • 아래는 번수의 예시이다.
var gender:String = "boy"
var familyNumber:Int = 4
var hasPet:Bool = false
var speed:Double = 11.5

산술 연산자

  • +, -, *, /, % 를 산술 연산자라고 한다.
  • +는 더하기, -는 빼기, *는 곱하기, /는 나누기, %는 나머지를 뜻한다.

비교 연산자

  • 비교 연산자에는 ==, >=, <=, >, <등이 있다.
  • ==은 같다라는 의미이고, >= 는 크거나 같다, <= 는 작거나 같다, >는 크다, <는 작다이다.

논리 연산자

  • 논리 연산자에는 &&, ||, ! 가 있는데
  • &&는 교집합의 의미 즉, 두 조건 다 true 여야 true 값이 반환된다.
  • ||는 합집합의 의미로 둘 중 하나가 true 이면 true 값이 반환된다.
  • !는 무조건 반대의 값을 반환된다.

조건문

swift-variable-if-else
  • 조건문은 어떠한 값이 특정 조건에 해당 할 때만 선택적으로 코드를 실행시켜주는데,
  • 대표적으로 if-else 문과 switch-case 문이 있다.
  • if-else 문의 문법은 다음과 같다.
if 조건 {
	//조건이 만족되면 실행
} else {
	//조건이 만족되지 않으면 실행
}
  • switch-case 문은 스위프트에서 워낙 강력하게 구현되어 있어서 나중에 더 자세히 알아보도록 하겠다.

조건문 예시

// 실습 짝수 홀수
let num:Int = 10

var isEvenNumber:Bool 
    
if num%2 == 0 {
    isEvenNumber = true    
} else {
    isEvenNumber = false
}
    
print(isEvenNumber)

// 실습 절대값    
var testNum:Int = -10
    
if testNum > 0 {
    testNum = testNum * 1
} else {
    testNum = testNum * -1
}
    
print(testNum)
    
// 실습 나눗셈
var number = 10
var divider = 2
    
if divider == 0 {
  print("divider의 값을 0이 아닌 값으로 바꿔주세요.")  
} else {
    var resultNum:Int = number / divider
    print("나눈값은 \(resultNum) 입니다.")
}
    
// 실습 뺄셈
var minusNum1:Int = 3
var minusNum2:Int = 5
    
var temp:Int
    
if minusNum1 < minusNum2 {
    temp = minusNum2
    minusNum2 = minusNum1
    minusNum1 = temp  
} 
    
print(minusNum1 - minusNum2)