실습편으로 들어가기 앞서
이론편을 보고 오기를 추천한다.
클래스 실습은 이론편에서 말했듯이
구조체와 클래스 두개와의 쓰임새를 보려고한다.
그러면 먼저 파일을 셋팅해보자.
이렇게 파일을 만들고
구조체 Car 와 클래스 Kar를 만들어보자
그 안에는 문자열 변수로 name과, owner를 만들어줬다.
그런데, 클래스 쪽에서 에러가 나왔다.
어떤 에러인가 봤더니..
"Class 'Kar' has no initializers"
Kar 에는 initializers가 없다고 한다.
그 이유는 뭘까?
struct의 경우 변수 프로퍼티만 만들어 놓아도 괜찮지만,
클래스인 "Kar" 라는 붕어빵이 구워졌을 때에는
어떻게 생겨 먹었었는지까지 알려주어야 한다.
그러기 위해서는 "in is" 이라는 함수를 만들어 줘야한다.
in 까지만 쳐도 그냥 자동으로 만들어 준다..
(세상 편해졌다...)
자, 이렇게 붕어빵을 만들 틀을 완성했다.
그러면 이제 붕어빵을 만들어 보자.
이렇게 붕어빵을 만들어주고,
이제 텍스트에 넣어줘보자.
이렇게 되겠다.
근데, 뭐... 사실 아래 이미지처럼
이런식으로 만들 수도 있지만,
이러한 변수들을 묶어서 하나의
구조체로 만들고 싶어서
이와 같이 한것이다.
그리고 아래 이미지 처럼도 가능하다.
뭐 이건 콘솔에 찍히는 프린트 이지만,
이런식으로 struct에서 프로퍼티와 메소드를 만들듯이
이러한 구문은 클래스에도 동일하게 들어간다.
이걸 보고 싶다면,
이렇게 해볼 수 있다.
그런데, 다른사람한테 차를
팔고 싶을 때가 있을 것이다.
그럴때는 어떻게 하는가?
이런식으로 팔린차 라는것으로 출력한다.
가솔린 차량은 당신의 것이라 해놓고,
이 Kar를 broCar에 넣고 동생차의 이름을 바꿨더니,
그리고, "myKar.sayHello()"를 해주었더니,
myKar의 owner가 바뀐것을 볼 수 있다.
그런데, 시뮬레이터에서는 뭔바 바뀌는게 없다.
화면을 다시 그려주는 기능이 필요하고
이기능에는 ObservableObject 즉, 관찰자 기능이 필요한데,
이부분은 다음에 한번 다뤄보도록 하려고 한다.
'IOS > Swift-TIL' 카테고리의 다른 글
[Swift-TIL] 열거형 - 필요한 선택지를 만드는 방법은? (이론편) (0) | 2024.10.16 |
---|---|
[Swift-TIL] ObservableObject는 무엇인가? (0) | 2024.10.16 |
[Swift-TIL] 클래스 - 주소값으로 객체를 만들어보기 (이론편) (0) | 2024.10.16 |
[Swift-TIL] 구조체 - 하나의 동작을 하는 객체 만들기 (실습편) (0) | 2024.10.15 |
[Swift-TIL] 구조체 - 하나의 동작을 하는 객체 만들기 (이론편) (0) | 2024.10.15 |