728x90

 

1월 26일 수요일 / 3일 차

 


 

CH01

14. 초기화 구문 init

15. 프로퍼티

16. 클래스와 구조체의 차이

17. 상속

18. 타입 캐스팅

19. assert와 guard

20. 프로토콜

 

 

 

CH01_15 실습

 

 

 

초기화 구문 init

클래스 구조체 또는 열거형의 인스턴스를 사용하기 위한 준비과정

init(매개변수: 타입, ...) {
    프로퍼티 초기화
    인스턴스 생성시 필요한 설정을 해주는 코드 작성
 }

 

 

 

프로퍼티

클래스, 구조체 또는 열거형 등에 관련된 값을 뜻함

- 저장 프로퍼티

- 연산 프로퍼티

- 타입 프로퍼티

 

 

 

클래스와 구조체

클래스와 구조체의 공통점  클래스와 구조체의 차이점
 - 값을 저장할 프로퍼티를 선언할 수 있다
 - 함수적 기능을 하는 메서드를 선언할 수 있다
 - 내부 값에 . 을 사용하여 접근할 수 있다
 - 생성자를 사용해 초기 상태를 설정할 수 있다
 - extension을 사용하여 기능을 확장할 수 있다
 - Protocol을 채택하여 기능을 설정할 수 있다
클래스 구조체
  - 참조 타입
  - ARC로 메모리를 관리
  - 상속이 가능
  - 타입 캐스팅을 통해 런타임에서 클래스 인스턴스의 타입을 확인할 수 있음
  - deinit을 사용하여 클래스 인스턴스의 메모리 할당을 해제할 수 있음
  - 같은 클래스 인스턴스를 여러 개의 변수에 할당한 뒤 값을 변경 시키면 모든 변수에 영향을 줌(메모리가 복사됨)
  - 값 타입
  - 상속이 불가능
  - 구조체 변수를 새로운 변수에 할당할 때마다 새로운 구조체가 할당됨
  - 즉 같은 구조체를 여러 개의 변수에 할당한 뒤 값을 변경시키더라도 다른 변수에 영향을 주지 않음(값 자체를 복사)

 

 

 

상속

부모가 자식에게 재산을 물려주는 행위

class 클래스 이름: 부모클래스 이름 {
    하위 클래스 정의
 }

※ 오버 라이딩

 서브클래스는 슈퍼클래스에서 정의된 메서드, 프로퍼티, 서브 스크립트 등을 그대로 사용하지 않고 자신만의 기능으로 변경하여 사용 가능

만약 같은 이름의 정의가 슈퍼클래스에 없는데 오버라이드를 쓰면 컴파일러 오류가 발생함. 실수를 인지할 수 있음

또한 슈퍼클래스의 동일한 이름의 정의가 있는데 오버라이드 키워드를 사용하지 않으면 오류가 발생함

 

 

 

타입 캐스팅

인스턴스의 타입을 확인하거나 어떠한 클래스의 인스턴스를 해당 클래스 계층 구조의 슈퍼클래스나 서브클래스로 취급 방법

 

 

 

assert와 guard

assert guard
  - 특정 조건을 체크하고, 조건이 성립되지 않으면 메세지를 출력하게 할 수 있는 함수
  - assert함수는 디버깅 모드에서만 동작하고 주로 디버깅 중 조건의 검증을 위하여 사용한다
 - 뭔가를 검사하여 그 다음에 오는 코드를 실행할지 말지 결정 하는 것
  - guard 문에 주어진 조건문이 거짓일 때 구문이 실행됨

 

 

 

프로토콜

특정 역할을 하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진

 protocol 이름 {
 
 )

 

 


 

3일 차 코드 및 깃허브 Push

 

 

복습할 내용

 

프로퍼티 종류별 사용 방식, 프로퍼티 옵져버(willSet, didSet)

클래스와 구조체 차이 원리 이해

상속 오버라이딩 방식 이해

타입 캐스팅, 다운 캐스팅

프로토콜 전부 다

 

 

 

 

 

오늘의 공부 후기

 

본격적으로 문법에 대해 들어가니 헷갈리는 부분과 이해가 되지 않는 내용이 많았습니다.

예를 들어 상속에서 오버 라이딩에 대한 내용은 이해가 갔지만 실 사용 시 작성 방법이 막막하였고

다운 캐스팅 역시 머리로는 이해가 갔지만 직접 코딩을 해보니 어렵게 느껴졌습니다

마지막 20장 프로토콜은 내용이 전반적으로 이해가 안돼서 복습이 꼭 필요할 것 같습니다

 

 

3일 차에는 필기를 따로 하지 않고 타이핑으로 코딩과 내용을 작성하니 집중력이 조금 더 높아졌습니다.

하지만 강의를 들으며 재생과 정지를 반복하며 작성하다 보니까 이해도가 조금 떨어져

4일 차부터는 한 강의 당 두 번씩 들으며 1회 차에 코드 작성에 집중, 2회 차에 개념 작성과 내용 이해에 집중하려고 합니다.

아직 게시글 작성과 수업방식이 어렵게 느껴지지만 조금씩 공부방법에 대해 자리를 잡는 것 같아 만족스럽습니다.

 

 

 

 

 

 

 

 

 

https://bit.ly/37BpXi

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

 

 

 

728x90

+ Recent posts