투케이2K

27. (Objective-C/objc) extern const 사용해 외부 공유 가능한 상수 정의 및 호출 수행 실시 본문

Objective-C

27. (Objective-C/objc) extern const 사용해 외부 공유 가능한 상수 정의 및 호출 수행 실시

투케이2K 2022. 2. 28. 18:18

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : OBJECTIVE-C

 

[ViewController.m : 클래스 생성자 호출]

// MARK: - [뷰 로드 실시]
- (void)viewDidLoad {
    [super viewDidLoad];
    printf("\n");
    printf("=============================== \n");
    printf("[ViewController >> viewDidLoad() :: 뷰 로드 실시] \n");
    printf("=============================== \n");
    printf("\n");
    
    
    // MARK: [S_Final 클래스 외부 공유 상수 호출 실시]
    // MARK: [사전 헤더 파일 import 필요 : #import "S_FinalData.h"]
    // MARK: [S_FinalData 클래스에 선언된 상수 즉시, 호출 실시]
    
    
    printf("\n");
    printf("=============================== \n");
    printf("[name :: %s] \n", name.description.UTF8String);
    printf("[age :: %d] \n", age);
    printf("[sex :: %c] \n", sex);
    printf("[developer :: %d] \n", developer);
    printf("[weight :: %f] \n", weight);
    printf("=============================== \n");
    printf("\n");
}
 

[S_FinalData.h : 헤더 정의]

#import <Foundation/Foundation.h>


// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. S_FinalData (선언부)
2. 상수 관리 클래스
// -----------------------------------------
*/



// -----------------------------------------
@interface S_FinalData : NSObject
// -----------------------------------------



// -----------------------------------------
/*
MARK: [요약 설명]
1. 외부에서 접근 가능한 상수 정의 클래스 (즉시, 상수 명을 사용해서 호출)
 
2. 비교 static const / extern const
  - static const : 클래스 내부 사용 공유 변수
  - extern const : 클래스 외부 사용 공유 변수
*/
// -----------------------------------------



// -----------------------------------------
// [extern const 정의]
extern NSString *const name;
extern int const age;
extern char const sex;
extern bool const developer;
extern double const weight;
// -----------------------------------------



// -----------------------------------------
@end
// -----------------------------------------
 

[S_FinalData.m : 몸체 구현]

#import <Foundation/Foundation.h>


// MARK: [헤더 파일 import]
#import "S_FinalData.h"


@implementation S_FinalData


// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. S_FinalData (구현부)
2. 상수 초기값 삽입 실시
// -----------------------------------------
*/



// -----------------------------------------
// MARK: [프로퍼티 초기값 지정 : static 으로 선언해 데이터 보호 및 get , set 으로 변수에 접근]
NSString *const name = @"투케이2K";
int const age = 29;
char const sex = 'M';
bool const developer = true;
double const weight = 62.5;
// -----------------------------------------


@end
 

[결과 출력]

 

반응형
Comments