objective-c
-
Swift 개발자를 위한 Objective-C 문법 요약Apple🍎/Objective-C 2025. 5. 23. 15:34
1. 기본 구문 차이파일 확장자와 구조Swift와 Objective-C는 파일 구조부터 차이가 있습니다.Swift파일 확장자: .swift단일 파일에 모든 코드 포함 가능Objective-C헤더 파일(.h) - 인터페이스 선언구현 파일(.m) - 실제 구현 코드예를 들어 Person 클래스를 생성할 때Objective-C 헤더 파일 (Person.h)#import @interface Person : NSObject@property (nonatomic, strong) NSString *name;@property (nonatomic, assign) NSInteger age;- (void)introduceYourself;@endObjective-C 구현 파일 (Person.m)#import "Person.h"..
-
Objective-C의 Selector와 Dispatch TableApple🍎/Objective-C 2025. 5. 21. 22:12
Selector의 개념과 역할Selector는 Objective-C 메시지 전달 시스템의 핵심 요소로, 간단히 말해 메서드의 이름을 식별하는 타입입니다. 기술적으로는 SEL 타입으로 표현되며, 내부적으로는 C 문자열에 대한 특별한 포인터로 구현되어 있습니다.셀렉터의 가장 중요한 특성은 그것이 단순한 문자열이 아니라, 런타임 시스템에 의해 관리되는 고유한 식별자라는 점입니다. 이 고유성은 메서드 검색 과정을 매우 효율적으로 만들어 줍니다.Selector의 핵심 특성메서드 식별자: Selector는 메서드의 이름과 매개변수 레이블을 포함한 식별자입니다.문자열 기반: 내부적으로는 문자열이지만, 런타임 시스템에 의해 관리되는 고유한 식별자로 변환됩니다.타입 정보 없음: Selector는 매개변수 타입이나 반환 ..
-
Objective-C: Small Talk과 Message 전달 패러다임Apple🍎/Objective-C 2025. 5. 21. 16:51
Objective-C의 스몰톡과 메시지 전달 패러다임Objective-C는 Smalltalk에서 큰 영감을 받은 언어로, 객체지향 프로그래밍의 핵심 개념 중 하나인 '메시지 전달(message passing)' 패러다임을 채택했습니다. 이 패러다임은 Swift를 포함한 다른 많은 현대 언어들과는 다른 접근 방식을 취합니다.메시지 전달 패러다임의 기본 개념Objective-C에서는 객체에 메서드를 '호출(call)'하는 것이 아니라, 객체에 '메시지를 보낸다(send a message)'는 개념을 사용합니다. 이 차이점은 단순한 용어의 차이가 아닌 근본적인 실행 모델의 차이입니다.일반적인 객체지향 언어에서는object.method(parameters); // 메서드 직접 호출반면 Objective-C에서..
-
좀 더 Low 하게 가보자~ Swift 저수준 메모리 관리Apple🍎/Swift 2025. 4. 25. 20:25
ARC(Automatic Reference Counting)의 작동 원리ARC는 Swift에서 메모리를 자동으로 관리하는 메커니즘입니다.참조 카운팅 기본 원리: 각 참조 타입 객체(클래스 인스턴스)는 자신을 가리키는 참조의 개수를 추적하는 참조 카운트를 가집니다.카운트 증감 동작객체에 새 참조가 생성될 때 → 카운트 증가참조가 범위를 벗어날 때 → 카운트 감소카운트가 0이 되면 → 메모리에서 해제참조 타입강한 참조(strong): 기본값, 참조 카운트를 증가시킴약한 참조(weak): 참조하는 객체가 메모리에서 해제될 수 있음, 참조 카운트 증가 안 함, 자동으로 nil이 됨미소유 참조(unowned): weak과 유사하지만 nil이 되지 않음, 참조 객체가 반드시 자신보다 오래 살아있다고 가정순환 참조 ..
-
Metal-Cpp : C++ 개발자를 위한 Apple의 GPU 사용법Apple🍎/Metal 2025. 4. 3. 23:03
Metal 둘러보기셰이더(shader)는 무엇인가?다음은 애플 디벨로퍼 홈페이지에 있는 Metal 의 소개입니다. 일단 Metal 을 사용하면 GPU 프로그래밍을 가능하게 해준다고는 들었는데, 셰이딩 언어는 또 뭘까요? 사실 GPpeople-analysis.tistory.comMetal 소개: Apple 플랫폼의 그래픽 및 컴퓨팅 프레임워크Metal은 Apple이 개발한 저수준 그래픽 및 컴퓨팅 API로, iOS, macOS, tvOS 등 Apple 플랫폼에서 GPU의 강력한 성능을 활용할 수 있게 해줍니다. 2014년에 처음 소개된 Metal은 OpenGL보다 더 낮은 오버헤드와 더 높은 성능을 제공하기 위해 설계되었습니다.Metal의 주요 특징은 다음과 같습니다. 그래픽 렌더링 및 일반 컴퓨팅(GPG..