[Swift] Self 프로퍼티
·
Apple/Swift
서론 안녕하세요, 여러분! 오늘은 Swift에서 굉장히 중요한 역할을 하는 self 프로퍼티에 대해 이야기를 나눠볼까 합니다. Swift를 처음 배우는 분들이나, 다른 언어에서 넘어오신 분들이라면 '이 self는 도대체 뭐지?'라는 생각을 해보셨을 겁니다. (사실 제가 그랬어요 ㅎ..) 오늘은 그런 의문점을 풀어드리겠습니다!! 바로 살펴보도록 하겠습니다. self가 뭐야? Swift에서 self는 현재 인스턴스를 가리키는 키워드입니다. 클래스, 구조체, 열거형 내부에서 사용되며 해당 인스턴스 자신을 참조하게 됩니다. 이 개념을 알고 나면 "어? 이거 다른 언어들에서 쓰던 this 키워드랑 비슷한데?"라고 하실 텐데요. 맞습니다! Swift의 self와 Java나 JavaScript 등의 언어에서의 thi..
[디자인패턴] 이터레이터 패턴 With Swift, Java
·
CS/디자인 패턴
서론 제가 블로그 포스팅을 1일 1포스팅을 해보려고 했는데 개인 사정으로 너무 바빠서 결국 실패해버렸네요..ㅎ 그런 이유로 오랜만에 포스팅을 해보려고 합니다! 이번시간에는 디자인패턴에 이터레이터 패턴에 대해서 포스팅을 해보려고 합니다! 이터레이터 패턴은 디자인 패턴 중 하나로, 여러분이 컬렉션을 다루는 데 있어 매우 유용한 도구입니다. 이터레이터 패턴이 무엇인지, 왜 필요한지, 그리고 어떻게 사용하는지에 대해 자세히 알아보도록 하겠습니다. 이터레이터 패턴이란? 이터레이터 패턴은 객체의 컬렉션, 즉 목록을 순회하는 방법을 제공하는 디자인 패턴입니다. 쉽게 말해서, 컬렉션 안의 각 요소에 순차적으로 접근할 수 있는 방법을 제공하는 것이죠. 그런데 왜 이런 패턴이 필요한 걸까요? 왜 이터레이터 패턴이 필요한가..
[디자인패턴] 프록시 패턴(Proxy Pattern)
·
CS/디자인 패턴
안녕하세요! 오늘은 소프트웨어 개발에서 자주 사용되는 디자인 패턴 중 하나인 "프록시 패턴"에 대해 이야기해보려고 합니다. 프록시 패턴은 어떤 객체의 대리자 역할을 하는 객체를 생성하여 사용하는 방식으로, 코드의 유연성과 재사용성을 높이는 데 도움이 됩니다. 우선, 프록시 패턴에 대해 알아보기 전에 프록시라는 단어부터 알아보겠습니다. '프록시'란 우리가 일상 생활에서 종종 마주치는 대리인이나 중개인을 의미합니다. 예를 들어, 외국에 살고 있는 친구에게 선물을 보내려면 그 나라의 대리점을 통해서 보내는 것과 비슷한 개념입니다. 이와 같이 프록시 패턴도 실제 객체의 역할을 수행하지만, 클라이언트와 실제 객체 사이에 중간 계층으로서 동작합니다. 프록스 패턴이란? 프록시 패턴은 이름에서 알 수 있듯이, 어떤 다..
[디자인패턴] 옵저버 패턴(Observer Pattern)
·
CS/디자인 패턴
안녕하세요! 이번에는 디자인 패턴 중 하나인 옵저버 패턴(Observer Pattern)에 대해 알아보려고 해요. 옵저버 패턴은 소프트웨어 개발에서 자주 사용되는 유용한 아이디어 중 하나로, 객체들 사이의 상호작용을 효과적으로 구현하는 방법을 제공하는 패턴입니다. 옵저버 패턴에 대한 개념과 특징을 자세히 한 번 알아보고 Swift와 Java, JavaScript 이렇게 각 언어별로 예시 소스까지 살펴보도록 하겠습니다! 옵저버 패턴이란? 옵저버 패턴은 한 객체의 상태 변화가 다른 여러 객체들에게 자동으로 알림을 보내고, 그들이 필요한 처리를 할 수 있도록 하는 디자인 패턴입니다. 주체(Subject)와 옵저버(Observer)라는 두 가지 주요 역할로 구성되며, 직접적인 결합 없이 유연하게 상호작용할 수 ..
[Swift] 객체 인스턴스(object instance)
·
Apple/Swift
이번 시간에는 객체 인스턴스에 대해서 한 번 간단히 알아보려고 합니다! 우선 빠르게 객체 인스턴스의 정의 먼저 살펴보고 가도록 하겠습니다. 객체 인스턴스란? 객체 인스턴스란 객체 지향 프로그래밍에서 실제로 만들어진 객체를 말해요. 예를 들어, 클래스라는 템플릿을 가지고 집을 만든다고 생각해보세요. 그 집이 바로 객체가 되는 거죠. 이때, 실제로 건축된 집은 객체 인스턴스라고 할 수 있어요. 정리해보면 개념 : 실제로 메모리에 할당된 객체 예시 : 집 클래스 -> 건축된 집 (객체 인스턴스) 이렇게 정리할 수 있죠. 소프트웨어 모듈 다음은 소프트웨어 모듈입니다. 소프트웨어 애플리케이션 개발 시 사용되는 모듈은 쉽게 사용하고 재사용할 수 있는 기능을 가지고 있습니다. 모듈은 다른 프로그램에서도 활용할 수 있..
[Swift] 저장 프로퍼티와 지연 저장 프로퍼티(Stored Properties, Lazy Stored Properties)
·
Apple/Swift
이번에는 프로퍼티에 대해서 글을 포스팅 하려고 하는데요. 이번 프로퍼티에 대한 내용은 제가 좀 개인적으로 헷갈려해서 여러 개로 나누어서 정리를 해볼까 합니다! 우선 프로퍼티에 대한 개념 먼저 알고 시작을 해야겠죠? 프로퍼티란? 우선 프로퍼티(Property)는 클래스, 구조체 또는 열거형 등의 데이터 타입 내부에 선언되어 있는 변수 또는 상수입니다. 클래스와 구조체 내부에서 값을 저장하거나 계산하는 데 사용되며, 해당 인스턴스의 속성을 나타냅니다. 근데 Swift에서는 이 프로퍼티가 크게 3가지로 나누어지게 됩니다. Stored Property : 저장 프로퍼티 Computed Property : 연산 프로퍼티 Type Property : 타입 프로퍼티 우선 이번 시간에는 간단하게 저장 프로퍼티(Stor..