[Swift] 2. 스위프트 처음 시작하기

Hoojeong Kim·2021년 9월 6일
0

Swift Base

목록 보기
3/22
post-thumbnail

기본 명명 규칙

  • 변수, 상수, 함수, 메서드, 타입 등의 이름은 유니코드에서 지원하는 어떤 문자(한글, 한자, 영문, 숫자, 이모티콘 등)라도 사용할 수 있으나, 다음과 같은 경우에는 사용할 수 없다.

    • 스위프트에서 미리 정한 예약어나 키워드
    • 해당 코드 범위 내에서 미리 사용되는, 기존 이름과 동일한 이름
    • 연산자로 사용할 수 있는 기호(+, -, *, /)
    • 숫자로 시작하는 이름
    • 공백이 포함된 이름
  • 함수, 메서드, 인스턴스의 이름은 소문자 카멜케이스를 사용한다.

    • 소문자 카멜케이스(Lower Camel Case) : 첫 글자를 소문자로 사용
  • 클래스, 구조체, 익스텐션, 프로토콜, 열거형 이름은 타입의 이름이기 때문에 대문자 카멜케이스를 사용한다.

    • 대문자 카멜케이스(Upper Camel Case) : 첫 글자를 대문자로 사용
  • 대소문자를 구별한다.


콘솔 로그

프로그램에서 로그란, 애플리케이션의 상태나 내부 로직으 흐름을 관찰할 수 있도록 출력한 정보를 의미한다. 콘솔 로그(Console Log)는 디버깅 중 디버깅 콘솔에 보여줄 로그를 뜻한다.
스위프트에서는 print()나 dump() 함수를 사용해 콘솔 로그를 출력할 수 있다.

파일을 처음 생성했을 때, 기본적으로 작성되어 있던 코드에 print() 함수 구문을 추가했다.

콘솔 창에 출력된 결과를 보면, 다른 언어의 print 함수와 다를 바 없다.
print() 함수는 출력하려는 인스턴스의 description 프로퍼티에 해당하는 내용을 출력해준다.

dump() 함수

이어서 print() 대신 dump()를 추가했다.

dump() 함수는 print() 함수와 달리, 조금 더 자세한 정보를 출력한다. 출력하려는 인스턴스의 자세한 내부 콘텐츠까지 출력하는 것이다.

문자열 보간법

변수 또는 상수 등의 값을 문자열 내에 나타내고 싶을 때 사용하는 것이 바로 문자열 보간법이다. 스위프트에서는 변수나 상수를 문자열로 치환하기 위해, 문자열 내에 \(변수나 상수) 의 형태로 표기한다.

import UIKit

let name : String = "Hoojeong"

print("My name is \(name).")
My name is Hoojeong.

이처럼 \(name)가 name 변수의 값인 Hoojeong로 치환된 것을 알 수 있다.


주석

주석은 프로그램 소스 코드에 정보를 남기는 목적으로 사용한다. 주로 코드를 다시 봤을 때 필요한 중요 메모나 다른 프로그래머에세 설명하기 위한 메모 등을 주석으로 남긴다. 개발자는 협업이 중요하기 때문에 주석 작성을 습관화 하는 것이 좋다고 한다.

퀵헬프(Quick Help)

Xcode에는 레퍼런스 문서의 요약된 내용을 보여주는 기능이 있는데, 바로 퀵헬프 기능이다. 코드를 작성하는 중에 레퍼런스 문서로 이동하지 않고 데이터의 타입이나 메서드 등의 간단한 정보를 확인할 수 있다.

레퍼런스 문서를 참고하고 싶은 코드(변수, 함수 등) 위에 커서를 놓고 option 키를 누르면서 클릭한다.

command + option + 2 를 눌러 Inspectors 창을 열어두면, 다음 사진과 같이 특정 코드 위에 마우스 커서를 올렸을 때 레퍼런스 문서를 확인할 수 있다.

주석 작성

한 줄 주석은 /를 사용하여 나타낸다.

// 한 줄 주석은 이렇게 작성합니다.

여러 줄 주석은 /*을 사용하여 나타낸다.

/*
 여러 줄 주석은 이렇게 작성합니다.
 */

마크업 문법을 사용하는 것도 가능하다.
마크업 형식에 따라 주석을 작성할 때는 다음과 같다.

/// 한 줄 주석일 경우에는 이렇게 작성합니다.

/**
 여러 줄의 주석을 작성할 때는 이렇게 작성합니다.
 여기서 마크업 문법을 사용하는 것이 가능합니다.
 
 마크업 언어는 "마크(Mark)"로 둘러싸인 언어입니다.
 "태크(Tag)"로 둘러싸였다고도 표현합니다.
 HTML, XML 등의 마크업 언어들은 문서의 구조를 정의합니다.
 쉽게 말하면 문서의 골격에 해당하는 부분을 작성하는데 사용합니다.
 */

마크업에서 파생된 것이 마크다운이라고 하는데, 애플에서 제공하는 레퍼런스 문서를 봤을 때 큰 차이는 잘 모르겠다. 이미 마크다운 문법은 익숙하기 때문에, 쉽게 사용할 수 있을 것 같다.

(자세한 마크업 문법은 애플에서 제공하는 문서인 Markup Formatting Reference를 참고하세요.)


변수와 상수

우리는 변수와 상수를 사용해 프로그램에서 사용되는 데이터를 메모리에 임시로 저장한다.

변수와 상수의 차이는 다음과 같다.

  • 변수는 생성 후 데이터 값을 변경할 수 있다.
  • 상수는 한 번 값을 설정하면 다음에 변경할 수 없다.

변수

스위프트에서 변수를 생성하려면 var 키워드를 사용하여 다음과 같이 나타낸다.

var [변수명] : [데이터 타입] = [값]

var name : String = "Hoojeong"
var age : Int = 22

데이터 타입을 정하지 않았기 때문에, 할당한 값에 따른 타입 추론이 사용되었다.

var job = "undergraduate"

실수는 Double의 타입을 갖는다.

var height = 160.0 // 실수는 Double의 타입을 갖는다.

변수는 값을 변경할 수 있으며, 기존과 동일한 타입을 사용해야 한다.

age = 20
job = "graduate"

타입을 확인하기 위해서는 다음과 같이 코드를 작성하면 된다.

print("\(type(of : height))")

상수

스위프트에서 상수를 생성하려면 let 키워드를 사용하여 다음과 같이 나타낸다.

let [상수명] : [데이터 타입] = [값]

let name : String = "Hoojeong"
let age : Int = 22

데이터 타입을 정하지 않았기 때문에, 할당한 값에 따른 타입 추론이 사용되었다.

let job = "undergraduate"

실수는 Double의 타입을 갖는다.

let height = 160.0

상수는 값을 변경할 수 없기 때문에 오류가 발생한다.

age = 20

오류 구문은 다음과 같다.

profile
나 애기 개발자 👶🏻

1개의 댓글

comment-user-thumbnail
2022년 12월 4일

헐 매일 한 개씩 따라해보고 배워갈게요ㅎ 글이 너무 간결해서 읽기 편하네요ㅎㅎ

답글 달기