josee2
josee2 Devlog
josee2
전체 방문자
오늘
어제
  • 분류 전체보기 (54)
    • Swift (33)
      • 문법 (33)
    • iOS (13)
    • Algorithm (3)
      • 프로그래머스 (1)
      • BOJ (0)
      • 기타 (2)
    • 일상 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스위프트
  • concurrent
  • Sync
  • 동시성프로그래밍
  • 문자열 템플릿
  • 프로세스
  • 비동기
  • serial
  • SeSAC
  • 멀티쓰레드
  • IOS
  • 동기
  • GCD
  • Async
  • 동시큐
  • 동시
  • 쓰레드
  • Swift
  • 서울청년취업사관학교
  • 직렬

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
josee2

josee2 Devlog

Swift/문법

스위프트(Swift) - 변수와 상수

2022. 4. 19. 14:26

 

변수와 상수의 정의

상수 : 한 번 저장된 값을 변경할 수 없음

변수 : 저장된 값을 필요에 따라 얼마든지 다른 값으로 변경할 수 있음

// 변수선언
var + 변수명

var year = 2022        // 정수형 변수
var month = "January"  // 문자열 변수

// 상수 선언
let + 상수명

let birthYear = 1997       // 정수형 상수
let welcomeMsg = "어서오세요" // 문자열 상수

 

스위프트에서 변수의 경우 선언과 초기화를 분리할 수 있다.

하지만 상수의 경우 선언과 초기화가 동시에 이루어져야 한다. (예외 존재)

// 선언과 초기화 분리
var year: Int // 변수선언
year = 2022

// :Int 는 타입 어노테이션이라는 문법으로 선언과 초기화를 분리해서 나타낼 때 표시해줘야한다.

 

 

변수의 경우 값을 변경해도 오류가 발생하지 않지만 상수의 경우 값을 변경하면 오류가 발생한다.

// 변수의 값 변경
var vValue = 15
vValue = 7             // ( O )

// 상수의 값 변경
let constantValue = 20
constantValue = 12     // ( X ) 상수는 한 번 정의하면 변경불가

 

변수의 값이 바뀌는 것은 같은 타입일 경우에만 가능하다.

// 변수의 선언 및 초기화
var iValue = 2       // Int 타입으로 초기화
var sValue = "Hello" // String 타입으로 초기화

// 값 변경
iValue = "안녕"       // Int 타입 String 타입으로 변경  >>  ( X )
sValue = 20          // String 타입 Int 타입으로 변경  >>  ( X )

변수와 상수의 이름 정의

스위프트에서 변수와 상수의 이름은 정하는데 자유도가 매우 높은편이다. 다음과 같은 규칙을 가지고 있다.

 

  1. 알파벳과 한글 자음 및 모음, 아라비아 숫자를 사용할 수 있고 특수 기호와 한자, 이미지용 바이너리 코드까지 사용 가능하다.
  2. 연산자와 혼동할 수 있는 +, -, *, / 와 공백은 변수, 상수명에 사용할 수 없다.
  3. 스위프트에서 예약어나 키워드로 등록되어있는 단어는 변수나 상수명에 사용할 수 없다. 단, 대소문자를 바꾸어 사용하는 것은 가능하다. (스위프트는 대문자와 소문자를 구분하기 때문)
  4. 변수, 상수명의 첫 번째 자리에 숫자가 올 수 없다. 

 

1번 같은 경우 확실히 스위프트가 다른 언어들과 비교해 자유도가 높은 편이다. 한글, 한자 뿐만 아니라 바이너리(😂,😭,😊 같은)까지 변수의 이름으로 사용이 가능하기 때문이다. 하지만 가독성만 떨어질뿐이고 변수나 상수명은 역시 영어로 정의하는 것이 바람직해 보인다.

 


출처 : 꼼꼼한 재은씨의 Swift 문법편

 

'Swift > 문법' 카테고리의 다른 글

스위프트(Swift) - 멀티 라인 스트링  (0) 2022.04.25
스위프트(Swift) - 타입이 다른 변수끼리의 결합, 문자열 템플릿  (0) 2022.04.23
스위프트(Swift) - 타입 추론과 타입 어노테이션  (0) 2022.04.21
스위프트(Swift) - 기본 자료형  (0) 2022.04.20
스위프트(Swift) 공부하기  (0) 2022.04.19
    'Swift/문법' 카테고리의 다른 글
    • 스위프트(Swift) - 타입이 다른 변수끼리의 결합, 문자열 템플릿
    • 스위프트(Swift) - 타입 추론과 타입 어노테이션
    • 스위프트(Swift) - 기본 자료형
    • 스위프트(Swift) 공부하기
    josee2
    josee2
    iOS 개발자 지망생의 공부기록입니다.

    티스토리툴바