티스토리 뷰

#5 변수의 개념과 활용.jpeg

 

 

이해하기 쉬운 변수의 개념

변수는 프로그래밍에서 핵심적인 역할을 하는 요소 중 하나입니다. 변수는 데이터를 저장하고 나중에 사용하기 위해 사용되며, 프로그램 내에서 값을 추적하거나 조작하는 데에 중요한 역할을 합니다. 예를 들어, 게임 개발 중에 플레이어의 점수를 저장하거나 사용자의 이름을 보여주는 등의 상황에서 변수가 사용될 수 있습니다.

 

 

iOS 개발 #5 변수의 개념과 활용 - Human stories

변수의 개념은 앞으로 진행될 프로그램 개발에서 핵심적인 역할을 하는 요소 중 하나입니다. 변수는 데이터를 저장하고 나중에 사용하기 위해 사용되며, 프로그램 내에서 값을 추적하거나 조작

sooar.kr

 

변수의 기본 구조와 선언

프로그래밍에서 변수를 사용하기 위해서는 먼저 변수를 선언해야 합니다. 변수를 선언한다는 것은 해당 변수의 이름을 지정하고, 어떤 유형의 데이터를 저장할 것인지를 명시하는 것을 의미합니다. 예를 들어, 정수 값을 저장하기 위해서는 Int라는 데이터 유형을 사용할 수 있습니다. 변수의 이름은 프로그래머가 정하며, 해당 변수를 식별하는 데 사용됩니다.

다음은 변수를 선언하는 기본 구조의 예시입니다.

// Swift
var score: Int = 0


// Objective-c
int score;

위의 코드에서 var는 변수를 선언할 때 사용되는 Swift의 키워드입니다. score는 변수의 이름이며, Int는 해당 변수가 저장할 데이터 유형을 나타냅니다.

 

변수 선언 키워드 설명

변수는 기본적으로 값이 변한다 라는 특징이 있는데, 이와 반대로 값이 변하지 못한다 라는 값을 가진 친구도 있습니다. 그 친구를 상수 라고 이야기 하는데, 변수와 상수의 선언 키워드가 다릅니다. 

아래는 Swift와 Objective-C의 각각 상수와 변수 선언 방법 입니다.

// Swift
// 변수 정수형 선언
var ex_score_var: Int = 0
ex_score_var = 100
print("ex_score_var = \(ex_score_var)") // ex_score_var = 100

// 상수 정수형 선언
let ex_score_let: Int = 0
ex_score_let = 100 // 오류 발생 Cannot assign to value: 'ex_score_let' is a 'let' constant
print("ex_score_let = \(ex_score_let)") // 실행 불가


// Objective-c
// 변수 정수형 선언
int ex_score_var = 0;
ex_score_var = 100;
NSLog(@"ex_score_var = %d", ex_score_var);  // ex_score_var = 100


// 상수 정수형 선언
const int ex_score_let = 0;
ex_score_let = 100; // 오류발생 Cannot assign to variable 'ex_score_let' with const-qualified type 'const int'
NSLog(@"ex_score_let = %d", ex_score_let);

위에 예제에서 보이듯 선언 방법이 다릅니다.  Swift에서는 다른 키워드를 사용하고, Objective-C는 앞에 const라는 키워드를 추가 합니다.

Swift

변수 : var score: Int = 0

상수 : let score: Int = 0

Ojbective-C

변수 : int score = 0;

상수 : const int score = 0;

 

변수의 할당과 사용

변수를 선언한 후에는 해당 변수에 값을 할당할 수 있습니다. 값을 할당함으로써 변수는 지정된 값을 저장하게 됩니다. 예를 들어, 플레이어의 점수를 저장하기 위해 변수에 값을 할당할 수 있습니다.

score = 100

이제 변수 score는 100이라는 값을 가지고 있습니다. 이 값을 나중에 게임 화면에 표시하거나 다른 연산에 활용할 수 있습니다.

추가 설명:

변수는 어떠한 상자에 데이터를 담는 것과 유사합니다. 그 상자에는 이름표가 붙어있으며, 프로그램에서 해당 이름을 통해 데이터를 가져오거나 저장할 수 있습니다.
ex) 만약 "장난감 상자"라는 변수가 있으면 안에 "장난감"이 있다 라고 유추 할 수가 있겠죠?
여기서 "장난감 상자" 는 변수의 이름고, 안에 있는 "장난감"은 데이터 라고 할 수 있습니다.

 

변수의 활용과 중요성

변수는 프로그램에서 데이터를 관리하고 조작하는 데에 굉장히 중요합니다. 변수를 활용하면 동일한 데이터를 반복해서 사용하거나 변경할 수 있어 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다. 또한 변수를 통해 프로그램 내에서 데이터를 주고받거나 조작함으로써 원하는 기능을 구현할 수 있습니다.

 

 

변수 활용의 예시

변수를 사용하여 간단한 계산기 앱을 만든다고 가정해봅시다. 사용자가 숫자를 입력하고 연산자를 선택한 후, 프로그램은 해당 연산을 수행하고 결과를 출력해야 합니다. 이때 변수를 사용하면 입력된 숫자와 연산 결과를 저장하고 다룰 수 있습니다.

아래는 Swift 언어를 사용한 간단한 계산기 앱의 예시 코드입니다.

import Foundation

// 예시 라서 playground에서 수동으로 숫자를 변경 하는 소스 코드
var num1: Int = 0 // 사용자로 붙어 받을 값 1
var num2: Int = 0 // 사용자로 붙어 받을 값 1
var op: String = "+" // operator 약자 계산 기호
var result: Int = 0 // 계산기의 결과 값 출력

// 사용자로부터 숫자와 연산자 입력 받기
num1 = 22// 첫 번째 숫자 입력
op = "*"// 연산자 입력 (+, -, *, /)
num2 = 11 // 두 번째 숫자 입력

// 입력된 연산자에 따라 연산 수행
if op == "+" {
    result = num1 + num2
} 
else if op == "-" {
    result = num1 - num2
} 
else if op == "*" {
    result = num1 * num2
} 
else if op == "/" {
    result = num1 / num2
}

// 결과 출력
print("결과: \(result)")

이 예시에서 num1과 num2는 사용자로부터 입력받은 숫자를 저장하는 변수입니다. op는 선택된 연산자를 저장하며, result는 연산 결과를 저장합니다. 이를 통해 간단한 계산기 로직을 구현할 수 있습니다.

 

아래는 Objective-C 사용한 예시 입니다.

int num1 = 0; // 사용자로 붙어 받을 값 1
int num2 = 0; // 사용자로 붙어 받을 값 1
NSString *op = @"+"; // operator 약자 계산 기호
int result = 0; // 계산기의 결과 값 출력

// 사용자로부터 숫자와 연산자 입력 받기
num1 = 22; // 첫 번째 숫자 입력
op = @"*"; // 연산자 입력 (+, -, *, /)
num2 = 11; // 두 번째 숫자 입력

// 입력된 연산자에 따라 연산 수행
if ([op isEqualToString:@"+"]) {
    result = num1 + num2;
}
else if ([op isEqualToString:@"-"]) {
    result = num1 - num2;
}
else if ([op isEqualToString:@"*"]) {
    result = num1 * num2;
} else if ([op isEqualToString:@"/"]) {
    result = num1 / num2;
}

// 결과 출력
NSLog(@"결과: %d", result);

 

 

자주 묻는 질문 (FAQs)

Q1: 변수의 유효 범위는 무엇인가요?

변수의 유효 범위는 변수가 선언된 위치에서부터 해당 변수가 속한 코드 블록이 끝날 때까지입니다.

 

Q2: 변수의 데이터 유형은 왜 중요한가요?

변수의 데이터 유형은 변수가 어떤 종류의 데이터를 저장하고 다룰 수 있는지를 결정합니다.

 

Q3: 변수의 이름을 어떻게 정해야 하나요?

변수의 이름은 해당 변수가 의미하는 내용을 잘 나타내도록 명확하고 간결하게 지정하는 것이 좋습니다.

 

Q4: 변수와 상수의 차이는 무엇인가요?

변수는 값을 변경할 수 있는 반면, 상수는 한 번 할당된 값이 변경되지 않습니다.

 

Q5: 변수를 선언할 때 초기 값을 주지 않아도 되나요?

다른 언어에서 변수를 선언할 때 초기 값을 주지 않으면 기본적으로 해당 데이터 유형의 기본 값이 할당 되지만, Swift에서는 기본적으로는 해당 변수의 초기 값을 설정 해줘야 합니다. 추후에 나올 내용 이지만 옵셔널 이라는 것을 이용하여 값을 주지 않아도 되긴 합니다.