大器晩成

프로그래밍 시작하기 - 변수란? 본문

iOS/Swift 문법

프로그래밍 시작하기 - 변수란?

zerobugpark 2024. 8. 1. 22:53

1. 변수(Variable)

• 변수의  의미

 변수란 변할 수 있는 데이터(Mutable)를 저장할 수 있는 이름이 붙은 메모리 공간을 의미합니다.

 swift에서는 'var' 키워드를 사용하여 변수를 선언합니다.

 

# 변수의 선언 var 변수명
var year // 변수의 선언
year = 2024 // 변수의 초기화
var year = 2024 // 변수의 선언과 초기화(Initalize)가 동시에

#변수의 선언 방법

var a = 10 // 변수를 선언하면서 저장 (선언과 초기화가 동시)
var b = 15

print(a + b) // 출력: 25

#변수를 여러개 한꺼번에 선언하는 방법: ,(콤마)로 연결

var q = 1, w = 2, e = 3
var a = "하나", s = 1.0, d = 9 // 문자열, 실수형 등 관계 없이 한꺼번에 선언 가능

print(a,s,d) // 출력: 하나 1.0 9

 

  • " var a = 3 " 는 메모리 공간에 생성과 동시에 데이터를 3을 저장하는 표현식입니다.
  • 변수의 이름 즉, 식별자는 한 영역에 유일한 하나의 이름만 사용해야 합니다.

2. 상수(Constants)

• 상수의  의미

 상수란 변하지 않는 데이터(Immutable)를 저장할 수 있는 이름이 붙은 메모리 공간을 의미합니다.

 swift에서는 'let' 키워드를 사용하여 상수를 선언합니다.

 

# 상수의 선언과 초기화

let name = "ZerobugPark" //상수의 선언과 초기화

print(name) // 출력: ZerobugPark

name = "Park" // Error: Cannot assign to value: 'name' is a 'let' constant

 

  • 상수는 선언과 초기화가 동시에 이루어져야 합니다. (값을 변경할 수 없기 때문에)
  • 변수와 상수를 통틀어, 변수(저장된 데이터라는 관점에서)라고 일반적으로 부르기도 합니다.
  • 상수의 이름 즉, 식별자는 한 영역에 유일한 하나의 이름만 사용해야 합니다.

* 선언된 상수나 변수의 처음으로 값을 대입하는 과정을 초기화(Initalize)라고 한다.

3. 변수와 상수 이름 정의하기

1. 알파벳과 한글 자음 및 모음, 아라비아 숫자를 사용할 수 있으며, 특수 기호나 한자, 이미지용 바이너리 코드까지 사용할 수 있습니다.

# 영어 및 숫자, 언더바로 정의

var str = "문자열"
var initInt34 = 37
var init_Int = 100

# 한글 및 한글 초성, 중성으로 정의
var 마스터 = "저자"
var ㅍㅍㅇㄹㅇ = "피파온라인"
var ㅏㅑㅓㅕㅗ = "아야어여오"

# 한글 초성과 알파벳을 혼용하여 정의
var aㅁsㄴ = 30.8
var 마3ㅅt = 222

# 특수 기호를 사용하여 정의

var Ω = 3.14
var ℬ = false

# 이미지 바이너리를 사용하여 정의

var 🤣 = "Smile"
let 😇 = "Die"

# 한자를 사용하여 정의

var 山 = "산"
let 韓國 = "대한민국"

# 위 예를 모두 섞어서 정의
var aㅂ2韓😇Ω12 = "이것저것"

 

2. 연산자와 혼동할 수 있는 [+, -, *, /] 및 공백은 변수, 상수명에 사용할 수 없습니다. 단, _(언더바)는 사용할 수 있습니다.

# 연산자와 공백은 변수나 상수명에 들어가면 안 됨
var abc+t = "abc Plus t" // 값을 더하는 연산자 사용 불가
var abc-t = "abc minus t" // 값을 빠능 연산자 사용 불가
var abc t = "abc space t" // 변수명이 어디까지인지 구분할 수 없어서 사용 불가

# 언더바는 예외적으로 사용 가능
var abc_t = "abc underbar t"

 

3. 스위프트에서 예약어나 키워드로 등록되어 있는 단어는 변수나 상수명에 사용할 수 없습니다. 단, 대소문자를 바꾸어 사용하는 것은 가능합니다.

var class = 1 // 'class'는 클래스 정의를 위한 키워드
var enum = 2 // 'enum'는 열거형 정의를 위한 키워드
var struct = 3 // 'struct'는 구조체 정의를 위한 키워드
var extension = 4 // 'extension'는 확장을 정의를 위한 키워드
var protocol = 5 // 'protocol'는 프로토콜 정의를 위한 키워드
var as = 6 // 'as'는 타입 캐스팅을 위한 키워드

#cf) 허용되는 경우 (cf.compare 비교)
- 스위프트는 대소문자를 구분하기 때문에 가능하다.
var Class = 1
var Enum = 2
var Struct = 3
var Extension = 4
var Protocol = 5
var As = 6

 

 4. 변수, 상수명의 첫 번째 자리에 숫자가 올 수 없다.

# 첫 번째 자리에는 숫자를 사용할 수 없다.
var 1abc = 123
var 2bcd = 234

# 두 번째 자리부터는 숫자 사용 가능
var a123vc = 123
var b2cd = 345

4. 문자열 보간법(String Interpolation)

 문자열 보간법은 문자열에 변수나 표현식을 삽입하는 방법을 의미한다. 다양한 프로그래밍 언어에서 문자열 보간법을 지원하며, 각각의 문법은 다를 수 있습니다.

let name = "zerobug"
let age = 28
print("Hello, my name is \(name) and I am \(age) years old.")
 // 출력: Hello, my name is John and I am 25 years old.
  • print( "hello, \(출력하고 싶은 변수 또는 상수명)....")

 

var num = 10 // num이라는 변수에 10이라는 값을 할당 함

let num2 = 10 // 상수는 초기화된 이후 값을 변경 할 수 없다

print("num의 값은 \(num)이고, num2의 값은 \(num2)입니다.")
// 출력: num의 값은 10이고, num2의 값은 10입니다.

num = 12  // 변수 num의 값 변경
//num2 = 0 // num2는 상수이기 때문에 값을 변경할 수 없으며 에러가 발생.

print("num의 값은 \(num)이고, num2의 값은 \(num2)입니다.")
// 출력: num의 값은 12이고, num2의 값은 10입니다.

 

 

 

728x90

'iOS > Swift 문법' 카테고리의 다른 글

범위 연산자 (Range Operators)  (0) 2024.10.31
기본 연산자 (Basic operators)  (2) 2024.10.31
타입 에일리어스(Type Alias)  (0) 2024.10.31
변수와 타입  (2) 2024.10.31
기본 데이터 타입  (0) 2024.10.31