Notice
Recent Posts
Recent Comments
Link
목록클래스 (2)
study record
[Swift] 스위프트 프로그래밍 - 구조체와 클래스의 차이와 선택
비슷한 점 값을 저장하기 위해 프로퍼티를 정의한다. 기능 실행을 위해 메서드를 정의한다. 초기화될 때의 상태를 지정하기 위해 이니셜라이저를 정의할 수 있다. 다른 점 구조체는 상속할 수 없다. 타입캐스팅은 클래스의 인스턴스만 가능하다. 디이니셜라이저는 클래스의 인스턴스에만 활용할 수 있다. (디이니셜라이저란 클래스의 인스턴스가 참조할 필요가 없을 때 메모리에서 해제되기 전 호출되는 것이다. (deinit 메소드)) 참조 횟수 계산은 클래스의 인스턴스에만 적용된다. 가장 큰 차이점은 클래스는 참조타입, 구조체는 값 타입이라는 점이다. 값 타입과 참조 타입 두 타입의 큰 차이는 '무엇이 전달되느냐'이다. 함수의 전달인자가 값 타입일 때에는 전달될 값이 복사되어 전달된다. 전달인자가 참조타입일 때에는 복사하지..
Swift/스위프트 프로그래밍
2021. 9. 28. 10:33
[Swift] 스위프트 프로그래밍 - 구조체와 클래스
구조체와 클래스는 프로그래머가 데이터를 용도에 맞게 묶어 표현하고자 할 때 사용한다. 구조체와 클래스는 프로퍼티와 메서드를 사용하여 구조화된 데이터를 사용할 수 있다. 새로운 사용자 정의 데이터 타입을 만드는 것이다. 구조체와 클래스의 큰 차이점은 구조체의 인스턴스는 값 타입이고, 클래스의 인스턴스는 참조 타입이라는 것이다. 또한 클래스는 참조타입이다. 일부 프로그래밍 언어는 소스파일 하나에 구조체 또는 클래스 하나만 선언할 수 있으나, 스위프트는 소스파일 하나에 여러 개의 구조체와 여러 개의 클래스를 정의하고 구현해도 된다. 또한 구조체 안에 구조체, 클래스 안에 클래스와 같이 중첩 타입의 정의 및 선언이 가능하다.
Swift/스위프트 프로그래밍
2021. 9. 28. 10:10