구조체_Struct, Class

joo lee·2022년 6월 28일
0


정대리쌤이 이걸 공부하랬당...

#잡담

비가 많이 온다.

램 설명을 보이시다...
공부할것이 많구만

구조체 는 정보를 한 곳에 모은 집합모델이라고 생각하면 될 것 같다.
종류는 클래스와 스트럭트가 있다.

정대리님이 유튜버 구독자 어쩌고 하는데
잘 모르겠다.

그냥 내 방식으로 이해하자면
전화번호부의 이름과 번호 소속 메모 주소 등이 구조체에 들어있지 않나 생각이 든다.

한가지 드는 의문점은 func랑 어떤 것이 다른가인데
내 생각에는 func는 함수를 정의하는 것이고
정보를 묶는 것이랑은 또 다르다고 생각이 든다...
정보는 또 [배열]이 들어가는데, 이것 또한 어떤 관계가 되는지 궁금하다.

구조체 본론

import UIKit

// 변수- 수가 변함
// 모델 이름, 영상, URL, 조회수 등을 덩어리로 모아둔다. -> 방식이 두가지 클래스와 스트럭트입니다.

// struct : 복사해서 사용하는 개념. 참조하는 값이 바뀌어도 기존 값에는 영향이 없음!
// class : 공유해서 사용하는 개념. 참조하는 값이 바뀌면 기존 값도 바뀜!

// 유튜버 구독자 (데이터) 모델 - struct / 구조체
struct YoutubeStruct {
    var name : String
    var subscriberCount : Int
}

var devJueong = YoutubeStruct(name: "정대리", subscriberCount: 99999)

var devJueongClone = devJueong
//아마 초기화 하는 듯

print("======struct=======")

print ("값 넣기 전 devJeongClone.name : \(devJueongClone.name)")

devJueongClone.name = "호롤롤로"

// 값 복사이기 때문에 둘의 값이 다르다.
print("값 넣기 후 devJeongClone.name : \(devJueongClone.name)")
print("값 넣기 후 devJeongClone.name : \(devJueong.name)")

print("======class=======")

//클래스

class YoutuberClass {
    var name : String
    var subscribersCount : Int
    init (name: String, subscribersCount: Int){
        self.name = name
        self.subscribersCount = subscribersCount
    }
}

var jeongDaeRi = YoutuberClass(name: "정대리", subscribersCount: 99999)

var jeongDaeRiClone = jeongDaeRi

print("값 넣기 전 jeongDaeRiClone.name : \(jeongDaeRiClone.name)")

jeongDaeRiClone.name = "와프리"

print("값 넣기 후 jeongDaeRiClone.name : \(jeongDaeRiClone.name)")

print("값 넣은 후 jeongDaeRi.name : \(jeongDaeRi.name)")

결론

또 오류다. 놀랍지도 않다.
잠이 오니깐 자겠다 ㅠㅠ
해결

하루지나니깐 struct와 class의 정의를 알 수 있게 되었다.
그런데, 저 기능들은 어디에 쓰이는 걸까...?

profile
와플좋아하고 개발공부하는 디자이너 리입니다.

2개의 댓글

comment-user-thumbnail
2022년 6월 29일

오! 열심히 공부하셨군요!!!

1개의 답글