본문 바로가기
iOS/iOS

[Objective-C] 기본문법 (함수, 변수)

by 헤콩 2022. 1. 13.
반응형

최근 Objective-C를 공부할 일이 생겼습니다. 그래서 기본문법부터 천천히 살펴보려 하는데, 이번에도 블로그에 기록해가며 공부하는게 기억에도 오래 남을 것 같아 게시글을 작성하게 되었습니다.

오늘은 Objective-C에서 아주아주 기본적인 문법들만 간단하게 살펴볼 예정입니다.


 

함수 선언

Objective-C에서는 .h (헤더파일) 과 .m 파일이 있습니다.

보통 .h 파일에 구현할 메서드와 변수를 선언하고, .m 파일에서 그 내용들을 구현하게 되죠. 그렇기 때문에 함수를 구현하기 위해서는 .h 파일에 어떤 메서드를 구현할건지 선언해주어야 합니다.

 

함수 구현

 -  로 선언된 함수는 인스턴스 메서드 로 선언된 함수는 클래스 메서드입니다.

그래서 호출할 때에는 아래처럼 인스턴스 메서드는 self를 통해, 클래스 메서드는 클래스 이름을 통해 메서드를 호출하게 됩니다.

즉,  로 선언된 함수는 외부에서 접근할 수 없는 함수입니다. 반면  로 선언한 함수는 외부에서 접근 가능한 static 변수처럼 생각할 수 있습니다. 학교에서 객체지향 시간에 배운 클래스 다이어그램을 생각해보면 +와 -의 개념을 이해하기 쉬울 것 같네요!

 

그렇다면 매개변수를 받는 함수는 어떻게 구현할까요?

아래 메서드처럼 매개변수의 타입과 이름을 지정해줄 수 있습니다. 그리고 함수를 실행할 때 값을 넣어주게 되는데, 이때 매개변수의 타입이 NSString이라면 @"내용" 과 같은 방식으로 값을" 넣어주어야 합니다. -> 왜???

함수 구현
함수 실행
결과값

 

변수 사용하기

Objective-C에서 변수들은 기본적으로 protected 타입이기 때문에 외부에서 접근할 수 없습니다. 외부에서 접근할 수 있도록 만들고 싶다면, @property를 사용해서 자동으로 getter와 setter를 만들어주도록 합니다. (옵씨에서는 public을 잘 사용하지 않습니다)

ViewController.h
ViewController.m

 

 

Reference

반응형

댓글