Swift 공식문서 읽기...Day5

김민종·2021년 8월 20일
0

Swift Doc

목록 보기
5/26

Structures and Classes

다른언어들과 달리 swift에서는 구조체와 클래스의 파일을 따로 저장하지않고 한곳에 저장가능하다. 클래스는 구조체는 유사한점이 많다. 그 중 다른점을 고르자면
클래스는 상속,타입캐스팅,소멸자,참조카운트가 가능하다.
클래스와 구조체 모두 이름앞에 class structure을 사용해 선언할 수 있다.
클래스와 구조체는 이름시작을 대문자로 시작하여 프로퍼티,메소드와의 차이를 둔다.

클래스와 구조체 모두 선언해 주는 것 만으로는 아무일이 일어나지 않는다. 해당 클래스,구조체의 모습만 보여준것으로 인스턴스를 통해 구현되어야 사용자에게 표현된다. 클래스,구조체를 사용하는 가장 간단한 방법은 선언한 이름뒤에 구조체 클래스를 선언후 빈괄호를 넣어 표현한다. 또한 .을 통해 프로퍼티에 접근가능하다. 하위프로퍼티 역시 접근가능하고 .(dot)문법을 통해 새 값을 추가할 수 있다.

구조체의 인스턴스를 선언하고 다른변수에 그 인스턴스를 할당하면 두값은 다른값이 된다. 한쪽의 값을 변경하면 그 값만 바뀌게 된다.

반면 클래스는 위 구조체예시와 정반대로 움직인다. 클래스는 참조타입이기 때문이다. 변수에 기존 클래스값을 넣더라도 그값을 복사만 하는 것이아닌 해당 클래스를 참조하여 같은 값을 가진다.

같은 인스턴스를 공유하는지 확인하기 위해서는 식별연산자(===)를 통해 확인할 수있다. (==)은 값을 비교하는 비교연산자이므로 둘은 다른 표현이다.

profile
신입 ios개발자입니다!

0개의 댓글