본문 바로가기
반응형

구조체3

18. 인스턴스의 생성과 소멸 인스턴스의 생성과 소멸 이니셜라이저를 정의하면 초기화 과정을 직접 구현할 수 있다. 이니셜라이즈는 func 키워드를 사용하지 않고 init키워드를 사용하여 이니셜라이저 메서드임을 표현한다. 클래스, 구조체, 열거형 등의 구현부 또는 익스텐션 구현부에 위치할 수 있다. 다만 클래스의 지정 이니셜라이저는 익스텐션에서 구현해줄 수 없다. 클래스, 구조체 열거형의 기본적인 형태의 이니셜라이저 예제 코드 class ClassA { init() { //초기화 코드 } } struct StructA { init() { //초기화할 때 필요한 코드 } } enum EnumA { case someCase init() { //열거형은 초기화할 때 반드시 case중 하나가 되어야 한다. self = .someCase //초.. 2019. 2. 25.
16. 구조체와 클래스 구조체와 클래스 구조체와 클래스에는 내용이 상당히 많은 편인데, 간략하게 정리하고 넘어간다. 이 파트를 재 학습을 한 이유는 실무에서 접한 코드에서 구조체가 다양하게 많이 쓰여지고 있었고 물론 클래스가 더 많지만, 구조체의 적절한 사용 방안에 대한 생각을 정립해보기 위해서다. 구조체와 클래스의 가장 큰 차이는 값과 참조의 차이다. 이 개념은 값을 전달하느냐 참조를 전달하느냐에 차인데 참조란 C 의 포인터 같은 개념으로 어느정도 프로그래밍에 대한 사전 지식이 있다면 무난하게 이해할 수 있는 부분이다. 구조체늬 인스턴스는 값 타입고, 클래스의 인스턴스는 참조 타입이라는 것이다. 1.구조체 구조체는 struct 키워드로 정의한다. (대문자 카멜케이스를 사용) struct Person {var name: Str.. 2019. 2. 23.
3. 프로토콜 지향 프로그래밍 3. 프로토콜 지향 프로그래밍 이걸 정리해야할지 고민스러운데, 우선 책에서 간략하게 정리한 내용을 언급해보고자 한다. Objective-C에서도 Protocol 지향적인 프로그램이 가능했기때문에 스위프트에서 사용할 때도 개념적으로 이해가 되었다면 어느정도 수준까지는 쉽게 접할 수 있지 않을까 한다. 작년 스위프트 프로젝트를 진행하면서 많이 느꼈던 부분이 구조체와 열거형에도 접근제어, 캡슐화, 추상화가 가능했기에 코드를 읽는데 어려움이 많았다. 생소하기 때문에... 그래서 스위프트 문법을 공부해야하고 자주 사용해야하고 새로운 방법을 계속 연구해야한다. 이번 프로젝트(앱 고도호)에서는 언어를 스위프트로 변경해서 개발을 하기로 결정했기때문에 작년에 봤던 스위프트 책을 다시 공부하고 있다. 기억이 가물가물..... 2019. 2. 13.
반응형