1. 변수와 상수
구분 | 설명 |
---|
var | 초기화 후 값 변경 가능 (가변) |
let | 초기화 후 값 변경 불가 (불변)→ 선언과 동시에 초기화→ 안정성 향상, 코드 최적화, 멀티 스레드 환경에서 안전 |
2. 네이밍 컨벤션: lowerCamelCase
vs UpperCamelCase
스타일 | 용도 |
---|
UpperCamelCase | 타입명 (예: 클래스, 구조체 등) |
lowerCamelCase | 변수, 상수, 함수명 등 기타 식별자 |
- 코드의 암묵적 규칙으로 가독성 향상 및 휴먼 에러 방지에 도움
3. 메모리 단위
- 비트(bit): 0 또는 1
- 바이트(byte): 8비트
- 표현 범위:
0~255
(부호 없음), 128~127
(부호 있음)
4. 자료형
기본 자료형
타입 | 설명 |
---|
Int | 정수형 (가장 많이 사용) |
Float | 32비트 실수형 (주로 외부 API 대응용) |
Double | 64비트 실수형 (일반적인 실수 계산에 주로 사용) |
Bool | 참/거짓 (true / false ) |
String | 문자열 |
기타 타입
타입 | 설명 |
---|
Signed | 음수 포함 정수형 (거의 사용하지 않음) |
Unsigned | 양수 전용 정수형 (거의 사용하지 않음) |
5. 타입 처리
타입 추론 (Type Inference) - Swift가 자동으로 타입을 추론
let num = 10 // Int
let pi = 3.14 // Double
let isOn = true // Bool
let name = "John" // String
타입 명시 (Type Annotation) - 개발자가 명시적으로 타입 지정
let age: Int = 25
let score: Double = 98.5
📌 Type Inference vs Type Annotation: 상황에 따라 컨벤션에 맞게 선택
6. 타입 별칭 (Type Alias)
- 가독성 향상, 유지보수 편의성, 재사용성 증가
typealias Age = Int
let myAge: Age = 30
7. 형 변환
구분 | 설명 |
---|
Type Casting | 형식만 바꾸는 변환 |
Type Conversion | 새로운 타입의 값을 생성 (보통 다른 타입 간 변환 시 사용) |
let a = 10
let b = 3.14
let result = Double(a) + b // Type Conversion 예시
let str = "123.456aa"
Int(str) // nil
Double(str) // nil
- nil: 값이 없음을 의미 (다른 언어의
null
과 유사)
8. 연산자
- 산술, 비교, 논리 연산자 등 기본 Swift 연산자 사용 가능
truncatingRemainder(dividingBy:)
는 실수끼리 나눈 후 남는 나머지를 구할 때 사용
let a = 10
let b = 3
// 더하기 (+)
let sum = a + b // 10 + 3 = 13
// 빼기 (-)
let difference = a - b // 10 - 3 = 7
// 곱하기 (*)
let product = a * b // 10 * 3 = 30
// 나누기 (/)
let quotient = a / b // 10 / 3 = 3 (정수 나눗셈)
// 나머지 (%)
let remainder = a % b // 10 % 3 = 1
// 실수 계산 예제
let c = 10.0
let d = 3.0
let floatSum = c + d // 13.0
let floatQuotient = c / d // 3.3333...
let floatProduct = c * d // 30.0
let floatRemainder = c.truncatingRemainder(dividingBy: d) // 1.0