반응형
Any는 Swift의 모든 타입을 지칭하는 키워드이다.
데이터 타입이 Any로 지정된 변수에는 어떤 값도 대입할 수 있다.
var someAny :Any = 10
someAny = "뭐"
someAny = 10.23
AnyObject는 모든 클래스 타입을 지칭하는 프로토콜이다.
모든 "변수"를 지칭하는 키워드가 Any라면 모든 "클래스"타입을 지칭하는 것은 AnyObject인 것이다.
예를 들어 someclass1()과 someclass2() 두 개의 클래스가 있을 때
var someObject :AnyObject = SomeClass1()
someObject = SomeClass2()
Any에서 어떤 타입의 값도 대입할 수 있었던 것처럼 어떤 클래스 타입도 저장할 수 있다.
nil은 '없음'을 의미하는 키워드이다.
그런데 여기서 기억해야 할 것은 Any와 AnyObject가 모든 타입의 값을 할당할 수 있다고 했지만 그렇게 선언된 변수에 nil을 할당할 수 없다.
할당을 하기 위해서는 ?가 필요하다.
var nuse : Int? = nil
위처럼 사용할 수 있는데, ?는 nullable 하다는 것이다. 즉, 해당변수를 비어 있을 수 있다는 의미이다.
print 해주면 nil이라고 콘솔에 출력된다.
아직 기초 공부를 시작하는 부분이라 많은 것을 알지는 모르지만, 변수의 선언 방식에 있어서 스위프트는 코틀린과 유사한 점이 많은 것 같다.
728x90
반응형
'언어 > swift' 카테고리의 다른 글
[swift] 복습2 - Array, Dictionary, Set (0) | 2023.06.29 |
---|---|
[swift] 복습1 - 상수와 변수 그리고 데이터타입 (0) | 2023.06.16 |
댓글