[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에서 클로저는 일급 객..
[Swift] 클로저 개념 완벽 이해하기
·
Apple/Swift
지난 포스팅에서 클로저에 대해 다뤘었는데 너무 사전적으로만 정리해서 그런지 크게 와닿지가 않아서 클로저의 개념을 다시 한 번 더 쉽게 풀어서 설명해보겠습니다! (사실은 제가 봐도 이해가 잘 안 가서 다시 쓰게 됐어요 ㅎ) (지난번 포스팅이 궁금하신 분들은 여기를 참고해주세요!) 우선 클로저는 크게 2가지가 있습니다. 우리가 흔히 쓰는 func 키워드로 정의한 이름이 붙어있는 함수와 이름이 없는 함수 즉, 익명 함수 이렇게 2가지가 있습니다. 한 눈에 이해하기 위해 그림을 만들어 봤습니다! 이렇게 Named Closure와 Unnamed Closure가 있는데 우리가 지금까지 선언했던 이름이 있는 함수들은 Named Closure입니다. 하지만 이 Named Closure를 클로저라고 부르지는 않고 그냥 ..
[Swift] 클로저(Closure)
·
Apple/Swift
클로저(Closure) Swift에서 클로저(Closure)는 독립적으로 실행 가능한 코드 블록입니다. 클로저는 함수와 비슷한 역할을 하며, 코드를 캡슐화하고 전달할 수 있습니다. 클로저는 일급 객체(First-class citizen)로 취급되어 변수나 상수에 할당하거나 함수의 인자로 전달하고 반환값으로 사용할 수 있습니다. 쉽게 말해서 클로저는 특정 작업(함수)과 그 작업이 일어난 곳(환경 or 상태)을 모두 기억하고 있는 도구라고 생각하시면 됩니다. 클로저는 아래와 같은 형태를 가지고 있습니다. 클로저 표현식 { (: , ... ) -> in // 클로저 표현식 코드(실행될 코드) } 여기서 매개변수, 반환타입, 그리고 실행될 코드 부분은 각각 생략 가능합니다. 클로저의 매개변수와 반환타입은 필요에..
[네트워크] LAN의 개요(2)
·
CS/네트워크
LAN의 하드웨어 NIC(Network Interface Card) 전송 매체에 접속 시켜주는 역할 OSI 계층 모델에서 1&2 계층의 프로토콜을 처리하는 기능 담당 NIU, LAN 보드, 네트워크 어댑터라고도 함 LAN 카드의 속도를 표시하는 기본 단위는 bps 허브(Hub) 한 가운데에 있는 제어장치를 중심으로, DTE가 있는 지점 간에 트리 구조로 연결하는 장비 LAN끼리 연결 신호를 증폭 신호를 재생하여 연결된 다른 노드들에게 전달 증폭기(repeater) 단말기 사이의 거리가 멀어질 수록 감쇄되는 신호를 재생(증폭)시키는 장비 서로 분리된 동일한 LAN에서 네트워크의 거리를 연장 OSI 7계층 중 1계층인 물리 계층에 해당 라우터(router) 임의의 외부 네트워크와 내부 네트워크를 연결해주는 ..