Swift
[SWIFT] 기초문법 뽀개기 -클래스 vs 스트럭트
Eunice99
2022. 9. 18. 12:21
- 소스코드
import UIKit
// 데이터 모델을 담는 방식 : 클래스 혹은 스트럭트
// 스트럭트
// 유투버 (데이터) 모델 - struct / 구조체
struct YouTubeStruct {
var name : String
var subscribarsCount : Int
}
var Eunice = YouTubeStruct(name : "밍깅이", subscribarsCount: 24)
var EuniceClone = Eunice // Eunice를 복사해서 EuniceClone을 만들었다. (값 복사)
print("값 넣기 전 EuniceClone.name : \(EuniceClone.name)")
EuniceClone.name = "호롤로"
// 값 복사이므로 둘의 값은 다름.
print("값 넣은 후 EuniceClone.name : \(EuniceClone.name)")
print("값 넣은 후 Eunice.name : \(Eunice.name)")
// 클래스 (생성자를 만들어줘야함)
class YouTubeClass {
var name : String
var subscribarsCount : Int
// init으로 매개변수를 가진 생성자 메소드를 만들어야 매개변수를 넣어서 그 값을 가진 객체(object)를 만들 수 있다.
init(name : String, subscribarsCount:Int) { // 생성자 (메모리에 올린다.)
self.name = name // 내(YouTubeClass)가 가지고있는 이름을 외부에서 넘어온 name으로 넣을것이다.
self.subscribarsCount = subscribarsCount
}
}
var minkyung = YouTubeClass(name : "밍깅이", subscribarsCount: 24)
var minkyungClone = minkyung
print("값 넣기 전 minkyungClone.name : \(minkyungClone.name)")
minkyungClone.name = "호롤롤롤로"
// 둘의 값은 같음.
print("값 넣은 후 minkyungClone.name : \(minkyungClone.name)")
print("값 넣은 후 minkyung.name : \(minkyung.name)")
// 스트럭트는 다른 종이에 복사한 것과 같음. (원래 종이에 영향이 가지않음)
// 클래스는 서로 연결이 되어있음. (원래 종이에 영향이 감)
- 출력
- 참고
정리를 해보려고했는데,,,너무 정리가 잘되어있어서,,,참고참고!!
[Swift] Class와 Struct의 차이점?
안녕하세요 Pingu입니다.🐧 오늘은 iOS 개발에 쓰이는 Swift 언어에서 Class, Struct의 차이점이라는 주제를 가지고 글을 써보려고 합니다. iOS 개발자로 면접을 준비하다 보면 Class, Struct의 차이점이라
icksw.tistory.com