최근 Objective-C를 공부할 일이 생겼습니다. 그래서 기본문법부터 천천히 살펴보려 하는데, 이번에도 블로그에 기록해가며 공부하는게 기억에도 오래 남을 것 같아 게시글을 작성하게 되었습니다.
오늘은 Objective-C에서 아주아주 기본적인 문법들만 간단하게 살펴볼 예정입니다.
함수 선언
Objective-C에서는 .h (헤더파일) 과 .m 파일이 있습니다.
보통 .h 파일에 구현할 메서드와 변수를 선언하고, .m 파일에서 그 내용들을 구현하게 되죠. 그렇기 때문에 함수를 구현하기 위해서는 .h 파일에 어떤 메서드를 구현할건지 선언해주어야 합니다.
함수 구현
- 로 선언된 함수는 인스턴스 메서드, + 로 선언된 함수는 클래스 메서드입니다.
그래서 호출할 때에는 아래처럼 인스턴스 메서드는 self를 통해, 클래스 메서드는 클래스 이름을 통해 메서드를 호출하게 됩니다.
즉, - 로 선언된 함수는 외부에서 접근할 수 없는 함수입니다. 반면 + 로 선언한 함수는 외부에서 접근 가능한 static 변수처럼 생각할 수 있습니다. 학교에서 객체지향 시간에 배운 클래스 다이어그램을 생각해보면 +와 -의 개념을 이해하기 쉬울 것 같네요!
그렇다면 매개변수를 받는 함수는 어떻게 구현할까요?
아래 메서드처럼 매개변수의 타입과 이름을 지정해줄 수 있습니다. 그리고 함수를 실행할 때 값을 넣어주게 되는데, 이때 매개변수의 타입이 NSString이라면 @"내용" 과 같은 방식으로 값을" 넣어주어야 합니다. -> 왜???
변수 사용하기
Objective-C에서 변수들은 기본적으로 protected 타입이기 때문에 외부에서 접근할 수 없습니다. 외부에서 접근할 수 있도록 만들고 싶다면, @property를 사용해서 자동으로 getter와 setter를 만들어주도록 합니다. (옵씨에서는 public을 잘 사용하지 않습니다)
Reference
'iOS > iOS' 카테고리의 다른 글
[Apple] userInteractionEnabled (0) | 2023.02.24 |
---|---|
UIView의 각 코너마다 서로 다른 radius 적용하기 (0) | 2022.04.19 |
Objective-C 와 Swift 혼용 사용하기 (2) | 2022.01.13 |
Displaying a Bottom Sheet in iOS 15 Using UISheetPresentationController (0) | 2021.07.11 |
이미지 캐시 처리와 NSCache (4) | 2021.06.23 |
댓글