[디자인패턴] 이터레이터 패턴 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..
[Swift] 후행 클로저(trailing closure)
·
Apple/Swift
지난번 포스팅에서는 클로저에 대한 개념과 클로저 사용 방법에 대해서 자세히 살펴보았습니다. 이번 포스팅에서는 후행 클로저에 대해서 살펴보고 후행 클로저는 어떻게 쓰이는지 소스 코드와 함께 살펴보도록 하겠습니다. 후행 클로저(trailing closure) 우선 후행 클로저란 무엇이고 왜 사용하는 것일까요? Swift에서 후행 클로저(trailing closure)는 함수의 마지막 인자로 전달되는 클로저입니다. 일반적으로 함수 호출 시에 클로저를 사용할 때, 매개변수 목록 안에 인라인으로 작성하는 것이 일반적입니다. 하지만 후행 클로저를 사용하면 함수 호출 구문을 더 간결하고 가독성 있게 만들 수 있기 때문에 후행 클로저를 사용합니다. 일반적인 클로저와 후행 클로저의 차이점 Swift에서 클로저는 일급 객..