Notice
Recent Posts
Recent Comments
Link
大器晩成
프로그래밍 시작하기 - 변수란? 본문
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 |