Swift 의 기본 데이터 타입에 대해 이전 포스팅과 이어서 Any, AnyObject 대해서도 공부해보자.
2018/10/21 - [IT 정보 로그캣/Swift] - [Swift 공부]기본 데이터 타입 (자료형) #1
Swift 의 데이터 타입에 대해 공부할 때 참고로 공부해야하는 부분이 있는데 바로 nil 과 Type Aliases 이다.
그래서 이번 포스팅에서 nil과 Type Aliases 부분도 함께 살펴 보았다.
Any 타입
Any 는 말 그대로 Swift 의 아무(모든) 데이터 타입을 사용할 수 있다는 의미이다.
타입을 명시하지 않고 그냥 바로 선언해서 사용하는 타입 추론처럼 어떻게 보면 가장 편리할 것 같지만 Any 로 선언된 변수의 값을 가져다 쓰려면 매번 타입 확인과 형 변환을 해야하는 번거로움이 있다.
그래서 특별한 경우가 아니면 사용하진 않을 것 같다.
예를들어 < 그림 1 > 과 같이 Any 로 선언한 타입의 값을 아무 조치없이 사용하면 컴파일 에러가 발생한다.
컴파일 에러 내용은 Any 타입에 숫자 100을 넣고 if 문의 조건에 넣었는데 Any 타입과 숫자 100 (Int) 를 비교할 수 없다는 것이다.
( * Any는 타입을 명시하지 않고 바로 사용하는 Swift 의 타입 추론 과는 다르다.)
그림 1 > Any 타입 사용 예제
AnyObject
AnyObject 는 모든 클래스의 타입을 지칭할 수 있는 타입으로 클래스의 인스턴스를 지정해 줄 수 있다.
마찬가지로 AnyObject 도 Any 처럼 사용하는데 있어서 번거로움이 존재하기 때문에 특별한 경우가 아니면 잘 사용하지
않는게 좋겠다.
nil
nil 은 변수 또는 상수 에 값이 없음을 의미한다. 자바로 치자면 null 이라고 볼 수 있겠다 :)
값이 없기 때문에 nil 인 변수나 상수를 호출하여 사용하려고 하면 우리가 흔히 겪는 널 포인트 익셉션이 발생한다.
Type Aliases
Type Aliases 는 우리가 변수에 이름을 지정해서 사용 하듯이 이미 존재하는 데이터 타입에 대해 따로 이름을 지정하여 사용할 수 있는 기능이다. Type Aliases 기능은 Swift 에서 제공하는 데이터 타입 뿐만 아니라 내가 임의로 만든 데이터 타입 등에도 사용할 수 있다.
그림 2 > typealias 를 통해 Int 명칭을 커스텀하여 사용하는 방법
* 해당 포스팅은 스위프트(Swift)4 버전을 기준으로 하고 있습니다.
* 참고 : https://swift.org/
'IT 정보 로그캣 > Swift' 카테고리의 다른 글
[Swift 공부] 컬렉션 타입이란 ? (0) | 2018.11.03 |
---|---|
[Swift 공부] 튜플(Tuple)이란? (0) | 2018.10.28 |
[Swift 공부]기본 데이터 타입 (자료형) #1 (0) | 2018.10.21 |
[Swift 공부] 변수와 상수 (0) | 2018.10.21 |
[Swift 공부] 스위프(Swift)란? (0) | 2018.10.07 |