

표현식 (expression)
- 표현식은 코드를 실행했을때 하나의 결과값이 나오는 코드
- Tokens = 문법적으로 더 이상 나눌 수 없는 요소
1 + 2
1과 +와 2는 각각의 토큰이다. 따라서 위에는 3개의 토큰이 있는 셈이다.
그리고 또다른 예로 if라는 키워드는 "if"라는 키워드 자체가 하나의 토큰이다. 공백을 부여한다면 더이상 제대로 된 하나의 토큰이 아니다.
var나 let도 마찬가지겠지? swift에서 지정한 이러한 코드들은 그 자체로 하나의 토큰이다.
- 표현식이 하나 이상 모여서 특정 기능을 실행하는 코드를 문장이라고 함.
Literals
- 숫자 7 처럼 의미가 변경되지 않고 있는 그대로 사용되는 값.
// ex)
let x2 = x > 7
위의 코드에서 Literal은 7밖에 없다.
- 이름에 숫자가 포함되어 있다면 그 숫자는 Literal이 아니다. (x2는 Literal이 아니다.)
- 계산식에 포함된 숫자는 숫자 Literal이다.
Identifiers (식별자)
- 코드에 포함된 요소를 구별하는데 사용되는 이름
- 변수의 이름, 자료형의 이름, 함수의 이름이 식별자이다.
- 식별자의 이름은 숫자로 시작할 수 없다.
// ex)
let x = 7
위의 코드에서는 x가 식별자이다.
Keywords
- 프로그램에 제공하는 기능을 위해서 예약되어 있는 단어. 예약어라고도 한다.
- Keywords는 식별자로 사용할 수 없다.
// ex)
let x = 7
위의 코드에서 let이 keyword이다.
Compile
- 코드를 컴퓨터가 읽을 수 있는 바이너리로 변환하는 작업.
Link
- 프레임워크, 라이브러리 등에 포함된 코드가 연결되는 것.
- 핑크까지 완료되면 실행파일이 생성된다.
- 위의 과정을 하나로 묶어서 Build라고 한다.
- 필요에 따라서 정적분석, 유닛테스트가 포함될 수 있다.
Debug Mode
- 개발상황에서 주로 사용한다.
- 실행 파일의 오류를 찾는데 필요한 디버그 정보가 포함된다.
- 파일의 크기가 커지는 단점이 있지만 오류를 쉽게 찾을 수 있다.
Release Mode (AppStore에 올릴 때)
- 디버그 정보를 포함하지 않는다.
- 실행파일이 상대적으로 작아지고 최적화를 하기 때문에 상대적으로 실행속도 빠름.
Compile Time
- 코드를 작성하고 컴파일과 링크를 완료해서 실행 파일이 생성되는 시점까지를 칭한다.
Run Time
- 실행된 생성파일을 시뮬레이터나 실제 디바이스에서 실행하는 시점
단락 평가
- Swift는 결과를 얻는데 필요한 최소한의 코드만 실행한다. = 단락평가
- 단락 평가에서 이미 결과를 얻었다면 나머지 코드는 실행하지 않는다.
- 사이드 이펙트(부작용)는 코드의 실행 결과로 인해서 값 또는 상태가 변경되는 것이다.
- 논리식에 사이드 이펙트를 포함시킬 수 있는 코드가 포함되어 있으면 논리적인 오류를 발생시키기 때문에 조심해야 한다.
'Language > Swift' 카테고리의 다른 글
Swift 기본 문법 - 할당 연산자(Assignment Operator) (0) | 2024.10.14 |
---|---|
Swift 기본 문법 - Ternary Operator (삼항연산자, 조건연산자) (0) | 2024.10.12 |
Swift 기본 문법 - Scope(범위) (2) | 2024.10.07 |
Swift 기본 문법 - Functions (함수) (0) | 2024.09.29 |
Swift 기본 문법 - Initializer(초기화 메소드) (0) | 2024.09.22 |
살아남는 iOS 개발자가 되기 위해 끊임없이 노력하고 있습니다.