목차
없음
본문내용
클래스의 interface 는 .h에 정의하고 implementation은 .m에 정의 한다.
인터페이스 정의는 @interface로 시작하며 @end로 끝난다.
③ Strong typing과 Weak typing
* Strong typing : 클래스 타입을 확실히 적어주는 것
* Weak typing : 확실히 모를때 클래스 타입 대신 id라고 적어준다
Strong typing 만 사용해온 개발자들은 id와 같은 불확실한 타입을 사용함으로써 많은 문제점이 생길꺼라 생각하지만, 사실 이는 Objective-c 프로그래밍을 유연하게 만들어주는 장점중 하나이다.
④ 메소드 정의 방법
(-) 기호로 시작되는 메소드 타입 식별자는 인스턴트 메소드 임을 의미한다. (+)로 적으면 클래스 메소드.
메소드명 뒤의 (:)콜론은 이 메소드가 파라매터를 가진다는 것을 의미한다.
파라매터가 없는 경우 (:)콜론 이후는 생략 가능하다.
⑤ 프로퍼티 선언
프로퍼티란 accessor methods(클래스 멤버에 접근하기 위한 메소드)를 편하게 implementation 하는 방법이다.
인터페이스안에 메소드와 같이 정의 하면 된다.
같은 이름으로 데이터를 꺼내올수 있고, 앞에 set을 붙인 이름으로 데이터를 세팅 가능하다.
set을 붙일때는 프로퍼티명의 첫글자는 대문자가 된다.
이런 기능을 이용함으로써 개발자는 accessor methods를 위한 불필요한 코딩을 줄일 수 있다.
⑥ String
위에서 언급한 바와 같이 Objective-C는 c의 확장임으로 c의 String을 그대로 사용할 수 있다.
하지만 대부분의 Objective-C 프레임워크에서는 c-style String대신 NSString이라는 독자적인 클래스를 사용한다.
이는 가변길이 문자의 사용, 유니코드 대응, printf와 같은 포멧기능 등의 많은 이점이 있으며 자주 사용하는 클래스이기 때문에
단지 "(더블 쿼테이션) 앞에 @만 붙여줌으로써 생성이 가능하다.
⑦ Protocols와 Delegates
프로토콜은 다른 클래스에 의해 implement되는 인터페이스로써 그 자체는 클래스가 아니다.
프로토콜은 필수 또는 옵션 메소드를 선언 할 수 있으며, 클래스의 인터페이스 선언과 매우 비슷하나 다만 슈퍼클래스를 가지지 않는다.
프로토콜을 사용한다는 것은 그가 가지는 인터페이스를 준수하겠다는 선언이며, 주로 클래스간의 데이터 전달을 목적으로 하는 클래스에 사용된다.
인터페이스 정의는 @interface로 시작하며 @end로 끝난다.
③ Strong typing과 Weak typing
* Strong typing : 클래스 타입을 확실히 적어주는 것
* Weak typing : 확실히 모를때 클래스 타입 대신 id라고 적어준다
Strong typing 만 사용해온 개발자들은 id와 같은 불확실한 타입을 사용함으로써 많은 문제점이 생길꺼라 생각하지만, 사실 이는 Objective-c 프로그래밍을 유연하게 만들어주는 장점중 하나이다.
④ 메소드 정의 방법
(-) 기호로 시작되는 메소드 타입 식별자는 인스턴트 메소드 임을 의미한다. (+)로 적으면 클래스 메소드.
메소드명 뒤의 (:)콜론은 이 메소드가 파라매터를 가진다는 것을 의미한다.
파라매터가 없는 경우 (:)콜론 이후는 생략 가능하다.
⑤ 프로퍼티 선언
프로퍼티란 accessor methods(클래스 멤버에 접근하기 위한 메소드)를 편하게 implementation 하는 방법이다.
인터페이스안에 메소드와 같이 정의 하면 된다.
같은 이름으로 데이터를 꺼내올수 있고, 앞에 set을 붙인 이름으로 데이터를 세팅 가능하다.
set을 붙일때는 프로퍼티명의 첫글자는 대문자가 된다.
이런 기능을 이용함으로써 개발자는 accessor methods를 위한 불필요한 코딩을 줄일 수 있다.
⑥ String
위에서 언급한 바와 같이 Objective-C는 c의 확장임으로 c의 String을 그대로 사용할 수 있다.
하지만 대부분의 Objective-C 프레임워크에서는 c-style String대신 NSString이라는 독자적인 클래스를 사용한다.
이는 가변길이 문자의 사용, 유니코드 대응, printf와 같은 포멧기능 등의 많은 이점이 있으며 자주 사용하는 클래스이기 때문에
단지 "(더블 쿼테이션) 앞에 @만 붙여줌으로써 생성이 가능하다.
⑦ Protocols와 Delegates
프로토콜은 다른 클래스에 의해 implement되는 인터페이스로써 그 자체는 클래스가 아니다.
프로토콜은 필수 또는 옵션 메소드를 선언 할 수 있으며, 클래스의 인터페이스 선언과 매우 비슷하나 다만 슈퍼클래스를 가지지 않는다.
프로토콜을 사용한다는 것은 그가 가지는 인터페이스를 준수하겠다는 선언이며, 주로 클래스간의 데이터 전달을 목적으로 하는 클래스에 사용된다.
소개글