-
Swift 개발자를 위한 Objective-C - Swift와 Objective-C 섞어쓰기Swift 2023. 7. 13. 18:11
swift 파일 제작
objc 파일 만들기
// // CCalc.m // BridgeCalc // // #import <Foundation/Foundation.h> #import "CCalc.h" @implementation CCalc // 구현 코드 작성 - (int)plus:(int)number1 with:(int)number2 { int result = number1 + number2; return result; } - (int)minus:(int)number1 with:(int)number2 { int result = number1 - number2; return result; } - (int)multiply:(int)number1 with:(int)number2 { int result = number1 * number2; return result; } - (int)divide:(int)number1 with:(int)number2 { int result = number1 / number2; return result; } @end
헤더파일 만들기
#import <Foundation/Foundation.h> @interface CCalc : NSObject - (int)plus:(int)number1 with:(int)number2; - (int)minus:(int)number1 with:(int)number2; - (int)multiply:(int)number1 with:(int)number2; - (int)divide:(int)number1 with:(int)number2; @end
BridgeCalc-Bridging-Header.Header
// // Use this file to import your target's public headers that you would like to expose to Swift. // #import "CCalc.h"
헤더파일이란?
컴퓨터 프로그래밍에서, 특히 C와 C++ 프로그래밍 언어에서, 헤더 파일(header file) 또는 인클루드 파일(include file)은 컴파일러에 의해 다른 소스 파일에 자동으로 포함된 소스 코드의 파일이다. 일반적으로 헤더 파일들은 다른 소스 파일 속의 첫 부분에 포함된다.
C와 C++ 프로그래밍 언어에서, 표준 라이브러리 함수는 전통적으로 헤더 파일 안에서 선언되어 있다. C 표준 라이브러리와 C++ 표준 라이브러리에 많은 함수들이 존재한다. 함수들은 사용자가 API 수준에서 알아야 한다. 따라서 개발 도구를 만드는 입장에서, 함수 자체를 설계하고 코딩을 한 측에서 제공해야 한다. 라이브러리 오브젝트 코드는 파일로 존재하고 헤더 파일에 함수나 변수의 형이 선언되어 있으므로 사용자 측에서 붙여 사용하면 된다. 사용자 측에서 사용한 라이브러리는 라이브러리 파일의 코드를 링커가 응용 프로그램에 붙여 전체 실행 코드가 완성된다. 결국 헤더 파일의 형을 사용하여 라이브러리 사용자의 인클루드에 의해 함수 호출이 방식이 결정된다.
-> 호출할 함수를 정의해놓은 파일
objc에서 헤더파일은 무슨 일을 하는가?
import
: 프로젝트 내에 선언된 클래스 등을 불러올 때도 import를 해 주어야 한다.
선언부 (@interface, @end)
: 어떤 클래스를 상속받고 어떤 변수와 메서드를 쓸 것인지 선언해둔다.
참고자료
https://ko.wikipedia.org/wiki/%ED%97%A4%EB%8D%94_%ED%8C%8C%EC%9D%BC