15 Jan 2020
|
swift
개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
인프런, 야곰의 스위프트 기본문법 강좌를 듣고 정리하였습니다.
기본 데이터타입은 아니지만, 데이터 타입의 위치에서 편한 역할을 수행하는 Any, AnyObject, nil
Any
swift에서 모든 타입을 지칭하는 키워드
데이터 타입 위치에 들어올 수 있고, 모든 타입을 수용할 수 있다. 어떤 타입의 데이터도 다 들어오는 것이 가능하다.
var someAny: Any = 100
someAny = "어떤 타입도 수용 가능하다"
someAny = 123.12
let someDouble: Double = someAny
그러나 Any타입은 Double에 할당할 수 없다.
AnyObject
모든 클래스 타입을 지칭하는 프로토콜 > 클래스 인스턴스만을 취급
class SomeClass = {}
var someAnyObject: AnyObject = SomeClass()
nil
없음을 의미하는 키워드
어떤 데이터타입이든 들어올 수 있지만 nil은 들어갈 수 없다.
nil은 NULL과 유사한 표현으로 보면 된다.
nil이 필요한 순간은 옵셔널에서 볼 수 있다.
14 Jan 2020
|
swift
개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
인프런, 야곰의 스위프트 기본문법 강좌를 듣고 정리하였습니다.
기본 데이터타입
Bool, Int, UInt, Float, Double, Character, String
Bool
var someBool: Bool = true
Int
64비트 정수형 타입 > 양수, 음수, 0 포함
UInt
부호가 없는 정수 > 양의 정수
Float
32비트 부동소수형 타입
var someFloat: Float = 3.14
Double
64비트 부동소수형 타입
var someDouble: Double = 3.14
Character
한글자 문자를 표현하기 위한 타입 > 유니코드를 사용
var someCharacter: Character = "👻"
String
var someString: String = "하하하 👻"
someString = someString + "웃으면 복이와요!!!"
14 Jan 2020
|
ascii code
unicode
개인적인 연습 내용을 정리한 글입니다.
잘못된 내용이 있다면 편하게 댓글 남겨주세요!
들어가기에 앞서…
- 컴퓨터의 기본 저장 단위는 바이트(byte)이다.
- 1바이트는 8비트(bit)이다.
- 1바이트에는 2의 8승에 해당하는 256개의 고유한 값을 저장할 수 있다.
- 문자나 기호들의 집합을 컴퓨터에 저장하거나, 통신 목적으로 사용할 경우에는 부호로 바꿔야한다.
- 이를 ‘문자인코딩(encoding)’ 또는 ‘부호화’ 라고 하며 부호화된 문자를 복원하는 것을 ‘복호화’ 라고 한다.
- 모스부호도 일종의 문자 인코딩이다.
아스키코드는 7비트, 증 128개의 고유한 값만 사용한다.
7비트만 활용하는 이유는 1비트를 통신 에러 검출을 위해 사용하기 때문이라고 한다. » Parity Bit
위 이미지를 통해 0~127까지 각각 고유한 값이 할당되어 있는 것을 알 수 있다.
- 0~32: 인쇄와 전송 제어용으로 사용됨
- 33~126: 숫자, 알파벳 대/소문자, 특수기호 등이 할당
이렇게 0~127까지 총 128개의 고유값을 저장하고 있다.
이는 영문 키보드로 입력할 수 있는 모든 가능성을 다 담고 있지만, 이 외의 다른 언어를 표현하기에는 7비트로는 부족하다는 것을 알 수 있다.
그래서 이를 보완하기 위해 용량을 더 크게 확장한 유니코드가 등장하게 되었다.
유니코드(Unicode)
한글은 자음과 모음의 조합 가능 개수만 따져도 128개는 가뿐히 넘는다.
즉, 아스키 코드의 한계를 극복하기 위해 유니코드가 등장하게 되었다.
10 Jan 2020
|
swift
개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
인프런, 야곰의 스위프트 기본문법 강좌를 듣고 정리하였습니다.
상수와 변수
swift는 함수형 프로그래밍 패러다임을 지향하기에 불변 객체를 굉장히 중요시함으로 상수 표현이 많이 등장하게 된다.
- 상수 선언 키워드: let
- 변수 선언 키워드: var
swift는 띄어쓰기에 굉장히 민감한 언어로 이를 잘못 쓰게되면 오류/컴파일에 문제가 생길 수 있다.
뿐만 아니라 값의 타입이 명확하다면 타입은 생략이 가능하다.
상수(let)으로 값을 지정해주고 나면 차후에 다른 값으로 변경이 불가능하다. 반면 변수(var)는 차후에 다른 값을 할당해줄 수 있다.
var variable : String = "차후에 변경이 가능한 var"
let constant : String = "차후에 변경이 불가능한 let"
variable = "변수는 이렇게 차후에 다른값을 할당할 수 있습니다."
constant = "상수는 차후에 값을 변경할 수 없습니다."
constant에는 값을 새로 할당할 수 없으니 let을 var로 변경하라.
상수와 변수 선언 후 나중에 값 할당하기
나중에 할당하려고 하는 상수나 변수는 우선적으로 타입은 미리(반드시) 명시해주어야 한다.
let sum: Int // 타입만 먼저 선언해놓은 상수
let inputA = 10
let inputB = 20
sum = inputA + inputB // 상수 선언 후 첫 할당
상수는 선언 후 처음으로 한번만 할당해줄 수 있으며 할당 이후에는 그 값을 절대 바꿀 수 없다.
변수또한 선언을 미리 할 수 있으며 상수와 다르게 할당 이후에도 그 값을 바꾸는 것이 가능하다.
var nickname : String
nickname = "zehye"
nickname = "jihye"
그리고 이러한 상수와 변수 모두 할당되기 전에 사용하고자 한다면 컴파일러가 오류를 띄워준다.
초기화 되기 이전에 사용이 되었다.
10 Jan 2020
|
swift
개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
인프런, 야곰의 스위프트 기본문법 강좌를 듣고 정리하였습니다.
이름짓기 규칙
- Lower Camel Case: function, method, variable, constant > someVariableName..
- Upper Camel Case: type(class, struct, enum, extension) > Person, Point, Week..
콘솔로그
- print: 단순 문자열 출력
- dump: 인스턴스의 자세한 설명(description 프로퍼티)까지 설명
문자열 보간법(String Interpolation)
프로그램 실행 중 문자열 내에 변수 또는 상수의 실질적인 값을 표현하기 위해 사용 > \()
import Swift
let age: Int = 10
"안녕하세요! 저는 \(age)살 입니다." // "안녕하세요! 저는 10살 입니다."
"안녕하세요! 저는 \(age+5)살 입니다." // "안녕하세요! 저는 15살 입니다."
print("안녕하세요! 저는 \(age)살 입니다.")
>>> 안녕하세요! 저는 10살입니다
class Person {
var name: String = "zehye"
var age: Int = 26
}
let zehye: Person = Person()
print(zehye)
dump(zehye)
>>> Person 클래스 주소 // print의 결과값
>>> Person 클래스 주소 // dump의 결과값
>>> zehye
>>> 26