본문 바로가기

Thinking/Study

Objective-C (3rd Edition)(Developer's Library) _ 3,4,5,6 장

728x90
저자 : Steve Kochan

3장. Classes, Objects, and Methods


- Instances and Methods
[ ClassOrInstance method ];
= [ 클래스 이름 또는 클래스 인스턴스  클래스메소드 ] ;
= [ receiver message ];

yourCar = [Car new];     get a new car
Car 클래스에 new 메시지를 send 해서 오브젝트(object) yourCar 생성

[yourCar prep];             get it ready for first-time use
[yourCar drive];             drive your car
currentMileage = [yourCar odometer];               get current mileage

- 3 section
. @interface section : 클래스, 데이터 컴포넌트, 메소드를 나열
. @implementation section : 메소드를 실행하는 실제 코드 포함
. program section : 의도한 목적에 맞게 수행하는 프로그램 코드를 포함.

- @interface 섹션
@interface NewClassName: ParentClassName
{
     memberDeclarations;
}

methodDeclarations;
@end
: 보통 클래스 이름은 대문자로 시작.

@interface Faction: NSObject
{
    int numerator;
    int denominator;
}

- (void) print;
- (void) setNumerator: (int) n;

@end 


- 인스턴스 변수(Instance Variables)
. memberDeclarations 섹션은 클래스 Fraction 에 어떤 타입의 데이터가 저장되어 있는지 나타낸다.
. curly brace({, }) 로 구분
. 기본적으로 protected 접근. (@private 또는 @public 으로 변경 가능)
. 예제) 두 정수형(integer) 멤버 numerator, denominator 가 인스턴스 변수

- 클래스 메소드, 인스턴스 메소드
. 마이너스(-) 로 시작하면 인스턴스 메소드. 클래스의 특정 인스턴스의 연산기능(operation) 수행(인스턴스의 값을 설정하거나 검색하거나 또는 출력하는 등등)
. 플러스(+)로 시작하면 클래스 메소드. 클래스 자체의 연산기능을 수행(새로운 클래스 인스턴스를 생성하는 등등)
-    (void)      setNumberator:          (int)         n;
메소드타입
      리턴타입
                   메소드 이름
                                      메소드가 인자를 가진다
                                                    인자 타입
                                                                 인자 이름

- @implementatoin 섹션
@implementaoin NewClassName
    methodDefinitions;
@end
: NewClassName 은 @interface 섹션에 사용된 클래스명과 동일하다. 

-  Program Section
 특정 문제를 풀기 위한 코드를 포함하고 필요하다면 여러 파일로 확장할 수 있다. 파일 어딘가에는 main 루틴이 호출되어야 한다. main 루틴에서 프로그램이 시작한다.

4장. Data Types and Expressions
- Data Types and Constants
- Arithmetic Expressions
- Assignment Operatos

5장. Program Looping
- The for Statement
- The while Statement
- The do Statement
- The break Statement
- The continue Statement

6장. Making Decisions 
- The if Statement
- The switch Statement
- Boolen Variables
- The Conditional Operator

4 ~ 6장까지 내용은 C(C++) 과 문법 내용이 동일함.