-
Swift - Swift 코드의 구성요소Programming/Swift 2020. 9. 15. 17:12
안녕하세요 BeePeach입니다 :)
오늘은 Swift 문법을 시작하기 전에 코드의 기본적인 구성요소들의 용어에 대해서 함께 공부해 보려고 합니다.
TOKEN (토큰)
위에 간단한 코드를 봐주세요! 여기서 a를 쪼갤 수 있을까요?
더 작은 의미로 나눌 수 없습니다.
이렇게 a와 같이 의미를 가지며 코드를 구성하는 최소 단위를 Token(토큰)이라고 합니다.
그럼 나머지 token을 찾아보세요!
+, b 이렇게 더 이상 나눌 수 없는 것들이 token입니다.
token을 구분할때는 띄어쓰기(공백)로 구분하게 됩니다.
Swift에서 공백은 spacebar, tab, return 키를 사용해서 입력하는 문자를 말합니다.
var는 변수를 선언할 때 사용하는 Keyword입니다.(키워드에 대해선 뒤에서 배울게요.)
그런데 공백을 사용해서 위와 같이 표현하면 더 이상 변수 저장의 의미를 가지지 못합니다.
공백을 이용해서 var을 나누게 되면 더 이상 token이 아니게 됩니다.
EXPRESSION (표현식)
위에 코드는 변수 a에 10을 저장하고 a에 접근하는 코드입니다.
여기서 2번째 줄의 a는 token이죠? 여기에 더해 token이면서 expression입니다.
오늘부터 배울 구성요소들은 여러 가지로 중복될 수 있습니다. 위와 같이 token이면서 expression 일수 있는 것처럼요.
Expression이 뭘까요?
Expression이란 하나이상의 token으로 이루어지며 코드를 실행(Evaluate) 했을 때 한 가지 값을 도출하는 코드를 말합니다.
그럼 여기서 또 evaluate가 뭔데? 하실 수 있는데, 간단히 Evaluate(실행, 평가)한다는 것은 코드를 실행해서 값을 얻는 행위라고 생각하면 됩니다.
처음 코드를 보면 7은 10 보다 작죠? 이 코드를 실행하면 false라는 값을 도출하게 됩니다. 값을 하나 얻었죠? 그러므로 7 > 10 은 expression입니다. 그리고 7, 10, > 은 Token입니다.
그럼 아래의 a < 100 도 expression이라는 것을 아실 수 있을 겁니다.
STATEMENT (구문)
위에 코드는 생소하죠?? 아직 모르셔도 됩니다!
코드를 말로 풀어서 설명하면 a라는 상수에 10을 저장하고, 만약 a 가 5 보다 크다면 a is bigger than 5를 출력해줘 라는 의미입니다.
if가 쓰여있는 부분부터 볼게요
a > 5 expression 이죠? 아래에 print(“a is bigger than 5”) 이것도 expression입니다.
이처럼 한 가지 이상의 expression이 모여서 작업을 실행하게 하는 코드를 Statement(구문)이라고 합니다.
LITERAL (리터럴)
이제 다음 코드로 Literal과 Identifier, Keyword 대해서 한 번에 공부해볼게요.
Literal이란 문자 그대로라는 말처럼 문자 그대로의 의미를 가지는 데이터를 말합니다.
이 세 개의 코드에서 literal은 무엇일까요??
1과 2와 “Beepeach”입니다.
첫 코드는 numberOne이라는 상수에 1을 저장하고 있죠? 여기서 1은 ‘문자 그대로’ 우리가 생각하는 숫자 1의 의미를 가집니다. 그리고 이것을 더 자세히는 Number Literal입니다.
두 번째를 볼까요? stringName이라는 상수에 Beepeach라는 문자열을 저장했습니다. 그럼 여기에서도 Beepeach는 ‘문자 그대로’ Beepeach를 나타내는 String Literal입니다.
세 번째 코드를 보면 숫자 3이 있습니다. 그럼 이것도 Number Literal 아니야? 왜 위에서 3 은 literal에 포함 안 했어??라고 하실 수 있습니다. 하지만 잘 생각해보시면 3은 ‘문자 그대로’ 3의 의미를 가지는 데이터가 아닌 것을 알 수 있습니다.
Literal에는 Boolean Literal, nil Literal, Integer Literal 등등 여러 종류가 있습니다.
IDENTIFIER (식별자)
여기서 상수와 변수의 이름 numberOne, stringName, number 3을 Identifier(식별자)라고 합니다.
간단하게 identifier는 함수의 이름, 변수의 이름, 상수의 이름, 메서드의 이름처럼 이름이라고 생각하면 됩니다.
KEYWORD (키워드)
그럼 이 코드에서 남은 let, var 은 무엇일까요??
바로 Keyword(예약어)입니다.
Keyword란 Swift에서 기능을 구현하기 위해 미리 지정해놓은 단어입니다.
let은 상수를 선언할 때 사용하는 keyword인 거죠.
var는 변수를 선언할 때 사용하는 keyword입니다.
예약어의 종류는 아주아주 많습니다. if, else, guard, switch, class, struct …….. 지금은 각각 뭘 의미하는지 모르시겠지만 공부해가면서 점점 알아가게 될거에요!
Swift를 공부하시는 분들 모두 화이팅입니다!!
참고자료
728x90'Programming > Swift' 카테고리의 다른 글
Swift - Number Data Type (0) 2020.09.19 Swift - Type Annotation, Type Inference (0) 2020.09.16 Swift - Naming Convention (0) 2020.09.16 Swift - Constants and Variables (0) 2020.09.16 Swift - Scope (0) 2020.09.15