itisjustK
코딩과 사람 사는 이야기
itisjustK
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • 일이삼사오육칠팔구십일이삼사오육칠팔구십일이삼사오육칠.. (0)
    • Web (43)
      • html & css (9)
      • django & python (15)
      • java script (9)
    • iOS (51)
      • Swift (42)
      • SwiftUI (5)
    • CS (25)
      • 자료구조 (6)
      • 운영체제 (3)
      • 데이터베이스 (9)
      • 네트워크 (7)
    • PS (34)
      • 알고리즘 & 자료구조 (0)
    • Life (36)
    • Retrospective (15)
    • Book (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CoreData
  • SwiftUI
  • crud
  • POSTECH
  • AppleDevloperAcademy
  • nosql
  • 생활코딩 #이고잉 #HTML #코딩 #개발자
  • ios
  • 킨디
  • binding
  • 어플
  • 점주
  • 독립서점
  • SWIFT
  • mongodb
  • 세그멘테이션
  • 생활코딩
  • CS
  • 연결리스트
  • 개발자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
itisjustK

코딩과 사람 사는 이야기

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 05. Any, AnyObject, nil (💎생각해보기)
iOS/Swift

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 05. Any, AnyObject, nil (💎생각해보기)

2021. 7. 14. 14:39

nil

nil : '없음'을 의미하는 키워드. 다른 프로그래밍 언어의 null값과 유사한 의미

 

Any

Any : Swift의 모든 타입을 지칭하는 키워드

모든 타입을 지칭하기 때문에 모든 데이터 타입의 종류(7가지)가 담길 수 있다. 하지만, nil값은 담을 수 없는데, 그 이유는 Any는 모든 값을 담을 수 있지만, 없는 값 nil은 담을 수 없다.

nil을 담으니 에러 발생

someDouble의 데이터 타입을 Double로 선언해주고 Any 타입인 someAny 값을 할당하려고 하니 에러가 발생한다.

Swift에서는 값 끼리의 상호 교환이 안되기 때문이다.

 

다른 블로그에서 설명하는 Any와 AnyObject

사용하지 않는 편이 낫다고 한다..

 

 

AnyObject

AnyObject : 모든 클래스 타입을 지칭하는 프로토콜 (클래스와 프로토콜은 나중에 자세하게 다룬다고 한다.)

 

AnyObject는 클래스의 인스턴스만 수용 가능하기 때문에 클래스의 인스턴스가 아니면 할당할 수 없다고 한다.

클래스와 프로토콜은 나중에 다시 다룬다고 하니 그렇구나~ 하고 넘어가자.

 

 

Any  vs  AnyObject

공통점 : 모든 타입을 담을 수 있는 데이터타입

차이점 : Any는 변수 또는 상수를 마음껏 담을 때 사용하는 타입이라면, AnyObject는 클래스의 인스턴스만 할당할 수 있다.

 

 

 

생각해보기

 

프로그래밍에서 의미하는 0은 int의 자료형이다. 이 말은 0이 0 자체의 값을 가지고 있기 때문에 '없음'을 나타낼 수 없다. 

그래서 '없음'을 나타내기 위해 nil을 만들어냈지 않을까?

'iOS > Swift' 카테고리의 다른 글

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 07. 함수 기본  (0) 2021.07.18
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 06. 컬렉션 타입(Array, Dictionary, Set) (💎생각해보기)  (0) 2021.07.15
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 04. 기본 데이터 타입  (0) 2021.07.13
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 03.상수와 변수  (0) 2021.07.13
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 02. 명명법 / 콘솔로그 / 문자열 보간법  (0) 2021.07.13
    'iOS/Swift' 카테고리의 다른 글
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 07. 함수 기본
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 06. 컬렉션 타입(Array, Dictionary, Set) (💎생각해보기)
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 04. 기본 데이터 타입
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 03.상수와 변수
    itisjustK
    itisjustK

    티스토리툴바