#import <Foundation/Foundation.h>
//import 부분 : 파일에 있는 정보를 그대로 가져오라는 명령어
//Foundation.h 파일을 불러온 이유는 프로그램에서 사용할 다른 클래스와 함수에 대한 정보가 들어있기 때문
int main(int argc, const char * argv[])
// 이 프로그램의 이름은 main
// int 부분 : main이 반환하는 값이 정수임을 나타냄
// "{" "}" 중괄호 부분에 모든 프로그램 명령어가 실행됨 따라서 중괄호 안에 명령어들을 집어넣어야 함
// 명령어의 끝은 세미콜론 ";" 으로 표현함
{
// @autoreleasepool : 개인의 어플리케이션이 객체를 생성하며 사용하는 메모리를 시스템이 효과적으로 관리하도록 하는 기법
// @autoreleasepool 이 명령어 안에는 하나의 명령문만 존재해야 함
@autoreleasepool {
// NSLog : NSString 객채라고 하며, 간단한 인수를 표시하거나 로깅(Logging)하는 함수
NSLog(@"Programming is fun!");
// TRY 문장표시추가 : NSLog 코드 추가
NSLog(@"And programming in Objective-C is even fun!");
// TRY "/n" 이용해서 한줄띄우기
NSLog(@"Programming is fun!\nAnd programming in Objective-C is even fun!");
// TRY 변수값 표시해보기
int sum; // int 는 integer(정수) 의 약자
sum=50+25;
NSLog(@"The sum of 50 and 25 is %i", sum); // %i : NSLog 함수가 이해하는 특수문자 % + 정수값 i
// TRY 측정결과 예측해보기
int value1, value2, sum12;
value1 = 50;
value2 = 25;
sum12 = value1 + value2;
NSLog(@"The sum of %i and %i is %i", value1, value2, sum12);
// %i %i %i 결과 예측해보기
// 2.5 연습문제 2번
NSLog(@"In Objective-C, lowercase letters are significant.\nmain is where program execution begins.\nOpen and closed braces enclose program statements in a routine.\nAll program statements must be terminated by a semicolon.");
// 2.5 연습문제 3번
int a;
a = 1;
NSLog(@"Testing...");
NSLog(@"....%i", a);
NSLog(@"...%i", a+1);
NSLog(@"..%i", a+2);
// 2.5 연습문제 4번
int p41, p42, psum4;
p41 = 87;
p42 = 15;
psum4 = p41 + p42;
NSLog(@"The sum of %i and %i is %i", p41, p42, psum4);
// 2.5 연습문제 5번 (오류수정)
int psum5; // INT 대문자 > 소문자 int
// COMPUTE RESULT
psum5 = 25 + 37 - 19;
// DISPLAY RESULTS
NSLog(@"The answer is %i", psum5); // 따음표 두개짜리 사용해야함(조심)
// 2.5 연습문제 6번
int panswer6, presult6;
panswer6 = 100;
presult6 = panswer6 - 10;
NSLog(@"The result is %i\n", presult6 + 5); // result 값은 presult6 + 5 한 95 값이 나옴
// [ ? ? ]; 의미는 : [ 객체(인스턴트)or클래스 <한칸띠고> 매서드(method) ];
// 위에것의 의미 : 객채나 클래스에 method 행위를 한다!
// 다음은 차를 예를들어 설명
// [classOrInstance method];
// [receiver message];
// yourCar = [Car new]; // Car : 클래스, yourCar : 객체(인스턴트), new : 클래스 매서드(method)
// [yourCar prep];
// [yourCar drive]; // 운전한다 : 인스턴트 매서드(method)
// [yourCar wash];
// [yourCar getGas];
// [yourCar service];
// [yourCar topDown];
// [yourCar topUp];
// currentMileage = [yourCar odometer];
// [yourCar setspeed: 55];
// [sistersCar drive];
// [sistersCar wash];
// [sistersCar getGas];
// 차를 예로 들기는 했지만 우리가 이용할 객체는 창, 사각형, 텍스트조각, 계산기, 재생목록 등등 컴퓨터와 관련된것
// [myWindow erase]; // 창의 내용을 삭제한다
// theArea = [myRect area]; // 사각형 영역을 계산한다
// [userText spellCheck]; // 텍스트의 철자를 검사한다
// [deskCalculator clearEntry]; // 마지막 입력내용을 삭제한다
// [favoritePlaylist showSongs]; // 선호하는 곡 목록에서 곡을 보여준다
// [phoneNumber dial]; // 전화번호로 전화를 건다
// [myTable reloadData]; // 갱신된 표의 데이터를 보여준다
// n = [aTouch tapCount]; // 화면이 눌린 횟수를 저장한다
// 분수를 처리하는 클래스 (numerator : 분자, denominator : 분모)
int numerator = 1;
int denominator = 3;
NSLog(@"The fraction is %i/%i", numerator, denominator);
// 위와 같은결과 다른방법..
int numeratorEx1, denominatorEx1;
numeratorEx1 = 1;
denominatorEx1 = 3;
NSLog(@"The fraction is %i/%i", numeratorEx1, denominatorEx1);
}
return 0;
// return 0 : main 의 실행을 종료하고 상태값 0을 돌려주거나 혹은 반환하도록 함
}