본문 바로가기

SWIFT8

스위프트 공부 _ 사용자 정의 연산자 스위프트에서는 프로그래머의 입맛에 맞게 연산자 역할을 부여할 수 있다. 기존에 존재하지 않았던 기호를 만들어 추가하는 것도 가능하다. 이를 통틀어 사용자 정의 연산자라고 부른다. 다만, = 과 ?: 는 사용자 정의 역할 부여가 불가능 하다. 1) 기존의 연산자 역할을 변경, 새로운 역할을 추가하기 위해서는 기존의 연산자가 전위(!A)인지, 중위(A+B)인지, 후위(B?)인지 알아야 한다. * operator : 연산자 * 전위 연산자 : prefix * 중위 연산자 : infix * 후위 연산자 : postfix * associativity : 결합방향 * precedence : 우선순위 2) 사용자 정의 연산자는 아스키 문자를 결합해서 사용한다. / = - + ! * % & | ^ ? ~ 또한 .. 2021. 7. 14.
스위프트 공부 _ 연산자 우선순위와 결합방향 지난번에 연산자에는 무엇이 있는지 알아보았는데 많은 연산자들이 어떤 순서로 적용이 되는지 알아보려고 한다. 사칙연산도 앞에서 부터 이루어지는 것이 아니라 곱셈과 나눗셈이 먼저 이루어지 듯 스위프트의 연산자들에도 우선 순위가 있다. 그리고 또한, 연산자가 연산하는 결합방향도 지정되어 있기에 같은 우선순위의 연산자가 있다면, 어느 방향부터 그룹을 지을 것인지를 나타내고 있다. 우선 스위프트 표준 라이브러리의 연산자를 참고해보자 https://swift.org Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns... 2021. 7. 12.
스위프트 공부_ 데이터 타입 심화 (컬렉션형) 지난번에는 데이터 타입 안심, 타입 별칭, 튜플에 대해 알아보았다. 오늘은 그것에 이어서 컬렉션형에 대해 알아보고자 한다. 컬렉션형(Collection Type) swift에서는 튜플 외에도 많은 수의 데이터를 묶어서 저장하고 관리할 수 있도록 켈렉션 타입을 제공하고 있다. 컬렉션 타입에는 배열(Array), 딕셔너리(Dictionary), 세트(Set) 등이 있다. 그래서 우선은 컬렉션의 대표적인 세가지 타입에 대해 알아볼까한다. 1) 배열(Array) 배열은 같은 타입의 데이터를 일렬로 나열한 후 순서대로 저장하는 형태의 컬렉션으로 각기 다른 위치에 같은 값을 저장할 수 있다. 순서대로 저장이 된다는 점과, 동일한 값을 여러번 저장할 수 있다는 특징이 있다. 배열 타입을 선언하는 방법은 다양하다. 일.. 2021. 6. 6.
스위프트 공부 _ 데이터 타입 심화 지난번에 공부했던 기본 데이터 타입 외에 무엇이 있는지 알아볼까 한다. 데이터 타입 안심은 무엇인지, 타입 별칭은 무엇인지, 열거형, 튜플, 컬렉션 형 등에 대해 공부할 생각인데 오늘은 데이터 타입 안심과, 타입 별칭 그리고 튜플에 대해 알아보겠다. 데이터 타입 안심 apple에서 swift를 발표당시 강조했던 특징 중 하나인 안정성이 가장 뚜렷하게 나타나는 부분이다. swift는 타입에 민감하고 엄격한데, 서로 다른 타입 간의 데이터 교환을 할 경우에는 반드시 형변환을 해주어야 한다. swift는 데이터 타입을 안심하고 사용할 수 있는 언어이기에 그만큼 실수를 줄일 수 있다. 즉, Int타입에 Char를 할당할 경우 컴파일 오류가 발생하는데 이런 오류는 프로그래밍 도중에 발견하기 어려워 나중에 컴파일러.. 2021. 6. 2.
스위프트 공부 _ 데이터의 형 변환 지난 글에 이어 데이터의 형 변환에 대해 알아보려고 한다. 1. Int와 Double의 형 변환 우선, Int와 Double은 함께 연산이 되지 않기 때문에 둘 중 하나를 변환을 해주어야 한다. Int가 자동적으로 Double로 변환되지 않는 것이다. 자바와 다르게... var intValue:Int = Int(123.45) // 형변환 없이 Int로 선언한 변수에 123.45를 입력하면 오류 발생. print(intValue) var price:Int = 100 var totalPrice = Double(price) * 1.1 // 그냥 계산하면 에러가 발생한다. Double로 형변환 해야 계산됨. print(Int(totalPrice)) 결과 : 123 110 여기서 볼 수 있듯이 변환할 타입을 기재.. 2021. 5. 30.
스위프트 공부 _ 데이터 타입 오늘은 스위프트에서 제공하는 기본 데이터 타입에 대해 알아볼까 한다. 데이터 타입이란 프로그램 내에서 다뤄지는 데이터의 종류를 뜻하는데, 스위프트의 데이터 타입은 구조체를 타입의 기반으로 삼아 스위프트의 다양한 기능을 두루 사용하여 구현되어 있다. 여기서 중요한 것은 스위프트의 기본 데이터 타입이 모두 구조체를 기반을 구현되어 있다는 점이다. 그리고 스위프트의 데이터 타입은 모두 대문자로 시작한다. !! int X Int O , double X Double O... Bool Bool 타입은 true와 false만 가지는 데이터 타입이다. var {name} : Bool = true {name}.toggle() // true -> false, false -> true Character character는 .. 2021. 5. 26.