교육/공부

[iOS][iPhone][ObjectC-02] 오브젝트 C 기본 문법 Message, Interface!

2017.08.04

 

 

안녕하세요 푸민입니다.

저번 포스팅에서는 아이폰 개발의 기본 언어인 오브젝트 C가 뭔지에 대해서 보았습니다!

이번에는 이 오브젝트 C를 어떻게 사용하는지에 대해서 알아보겠습니다!!

 

 

1. Messages

 

자 그럼 먼저 메시지를 어떻게 전달하는지 알아보겠습니다.

오브젝트 C에서는 메소드를 호출하는게 아니라 메시지라는 것을 보냅니다!

그러면 해당 객체(인스턴스)에서 실행해주는 것이지요!

[obj method:argument];

[] 괄호를 많이 쓰시게 될텐데요. 메시지를 보낼수 있는,

즉 C++이나 Java에서 . 연산자를 이용해서 메소드를 호출하는 것과 같은 역활을 합니다.

obj 는 객체입니다. 그리고 method 이름을 적어주고 : (콜론) 이후로 파라미터를 넣어주시면 됩니다.

 

 

2. Interface

 

이번에는 인터페이스에 대해서 소개합니다.

오브젝트 C에서 사용하는 interface는 Java에서 사용하는 것과는 다른 것입니다.

오브젝트 C의 interface는 Java의 Class와 같다고 보시면 됩니다!

@interface classname : superclassname {
 // instance variables
}
+ classMethod1;
+ (return_type)classMethod2;
+ (return_type)classMethod3:(param1_type)param1_varName;

- (return_type)instanceMethod1With1Parameter:(param1_type)param1_varName;
- (return_type)instanceMethod2With2Parameters:(param1_type)param1_varName param2_callName:(param2_type)param2_varName;
@end

자 이렇게 기본 문법입니다.

@interface 를 통해서 해당 인터페이스(클래스)를 정의하는 것입니다.

그리고 @end 명령어를 통해서 해당 인터페이스의 끝을 알려줍니다.

오브젝트 C는 자바와 같이 superclass를 하나 밖에 상속받지 못합니다.

위에 보시면 superclassname 옆에 {} 괄호가 보이실겁니다.

해당 괄호 안에는 인스턴스 변수를 선언하여 사용할 수 있습니다.

 

그리고 밑으로 보이는 것이 메소드들입니다.

+ - 기호를 통해서 해당 메소드가 클래스 메소드인지 인스턴스 메소드인지를 구분합니다.

그리고 리턴타입을 () 괄호안에 먼저 작성하고 메소드이름을 적습니다.

파라미터를 추가하기 위해서는 (콜론) 기호를 이용하여 작성할 수 있습니다.

 

실제로 객체 지향 개념만 알면 완전 복잡하지는 않지만...

저 처럼 다른 언어를 사용하다 오신분들은 조금 헷갈리기도 할것 같네요 ㅎㅎ

 

다음 시간에는 우리가 작성한 interface를 통해서 구현되는 implementation 을 알아보겠습니다!

 

문의사항은 sj60414@네이트닷컴과 댓글로 해주세요! 

좋아요
태그
인기 포스팅 보기