수업목차 1. Objective-C 기초 (1) Hello World 작성 (2) 기본클래스작성, property 변수, 메소드 (3) Wizard 게임 (4) Island Survival 게임 2. ios 앱프로그래밍기초 (1) Story Board 사용법 - Hel

Size: px
Start display at page:

Download "수업목차 1. Objective-C 기초 (1) Hello World 작성 (2) 기본클래스작성, property 변수, 메소드 (3) Wizard 게임 (4) Island Survival 게임 2. ios 앱프로그래밍기초 (1) Story Board 사용법 - Hel"

Transcription

1 2013 여름방학부산광역시정보영재교육원강좌 스마트폰앱개발기초 교육자료및프로젝트결과보고서 기간 : ~7.26 대상 : 중 3 창의성반 지도 : 동의과학대학교김종현교수 1

2 수업목차 1. Objective-C 기초 (1) Hello World 작성 (2) 기본클래스작성, property 변수, 메소드 (3) Wizard 게임 (4) Island Survival 게임 2. ios 앱프로그래밍기초 (1) Story Board 사용법 - Hello iphone 작성 (2) Hello Fun 앱제작 - IBOutLet, IBAction 이해및활용 (4) 프로그래밍문제해결 - Hello Fun 앱 upgrade 3. Tap Me 게임앱제작 - 다함께 Tap Me 게임제작 - UILabel, UIButton, NSTimer, UIAlertView.. - 게임알고리즘 4. 기초프로젝트수행 (2 인 1 조 or 1 인 ) (1) Tap Me 게임창의적기능추가 5. 수업참고자료 : A Tutorial series about ios for high school students (1) (2) (3) (4) 2

3 Day 1. Objective-C 기초 (Wizard Game) ( 예제프로그램 1) Wizard Game // Wizard Gmae #import <Foundation/Foundation.h> int main(int argc, const char * // 변수선언 ( 정의 ) float strengh; // 힘 ( 강함 ) float intelligence; // 지능 float speed; // 속도 float alchemy_skill; // 연금술기술, alchemy: 연금술, skill: 기술 float sum; // 합계 float avg; // 평균 NSLog(@"What is your strength(1-10)?"); scanf("%f", &strengh); NSLog(@"What is your intelligence(1-10)?"); scanf("%f", &intelligence); NSLog(@"What is your speed(1-10)?"); scanf("%f", &speed); NSLog(@"What is your alchemy skill(1-10)?"); scanf("%f", &alchemy_skill); sum = strengh + intelligence + speed + alchemy_skill; avg = (strengh + intelligence + speed + alchemy_skill) / 4; NSLog(@"sum = %f avg = %f", sum, avg); //Here are the logical statements that determine a response based on the user's input for various skills! if (strength >= 8 && intelligence >= 8 && (alchemy_skill + speed)/2 < 7) NSLog(@"You are a clever brute. You are known for your defense of Aristotle's logic, while being equally admired by competent athletes. In the gladiator ring, your intelligence outmatches beings of even greater strength."); if (speed >= 8 && intelligence >= 8 && (alchemy_skill + strength)/2 < 7) NSLog(@"You are an assassin. Your sharp blade and agile mind gleam in the shadows.being not particularly confrontational, you wear an aura of mystery."); if (alchemy_skill >= 8 && intelligence >= 8 && (strength + speed)/2 < 7) NSLog(@"You are a cleric. You summon mysterious powers to heal and protect."); 3

4 if (avg >= 8 && avg <= 9) NSLog(@"You are a mage, apprenticed to a great wizard. master of the universe."); One day you may be a if (avg >= 5 && avg <= 7) NSLog(@"You are a commoner. You will live a long life, and tend to your property."); if (avg >= 1 && avg <= 4) NSLog(@"You are a peasant. Your lord is cruel. He does not compensate you for the work that you accomplish. You only dream of being successful. :("); return 0; ( 프로그래밍문제 ) 게임종료및새로하기추가 위의 Wizard 프로그램은 " 프로그램종료 " 하는부분이없다. NSLog(@"1.Restart Game. 2.STop"); 을출력하여게임세로하기와게임종료하는부분을추가하여수정하시오. 4

5 Day 2. Objective-C 기초 ( 클래스작성 ) 1. 클래스, 메소드선언과정의 ( 프로그래밍예제 ) 클래스정의및사용 5

6 // main.m // MyClass #import <Foundation/Foundation.h> // interface MyClass : NSObject // 멤버변수정의 int a; int b; // 메소드정의 - (void)seta:(int)x; - (void)setb:(int)y; - // implementation MyClass - (void)seta:(int)x a = x; - (void)setb:(int)y b = y; - (int)add return a + int main(int argc, const char * // 객체 ( 혹은인스턴스 ) 생성및메모리할당 MyClass *myclass = [[MyClass alloc] init]; [myclass seta:15]; [myclass setb:20]; NSLog(@"Sum is %i", [myclass add]); return 0; 6

7 결과값은? 2. 다중인수메소드 (Multiple Parameter Method) ( 프로그래밍예제 1) 다중인자 // main.m // MultiPara #import MultiPara : NSObject // 다중인수정의 - (int)sum:(int)a MultiPara - (int)sum:(int)a andb:(int)b andc:(int)c return a + b + int main(int argc, const char * MultiPara *class = [[MultiPara alloc] init]; NSLog(@"Sum is %i", [class sum:5 andb:10 andc:20]); return 0; 7

8 ( 프로그래밍예제 2) main.m 에있는클래스정의를헤드화일 (.h) 과구현화일 (.m) 으로 분리하는방법 MyClass.h #import MyClass : NSObject // 다중인수선언 -(int)sum:(int)a andb:(int)b MyClass.m #import MyClass -(int)sum:(int)a andb:(int)b andc:(int)c return a + b + maim.m #import <Foundation/Foundation.h> #import "MyClass.h" int main(int argc, const char * MyClass *class = [[MyClass alloc]init]; NSLog(@"Sum is : %i", [class sum:5 andb:7 andc:10]); return 0; Output: Sum is : 22 ( 프로그래밍예제 3) 사칙계산기 (Calculator) 만들기 // Calculator.h // Calaculator #import Calculator : NSObject double accmulator; // 계산값의누적 // 메소드정의 - (void)setaccmulator:(double)value; - (double)accumlator; 8

9 // 사칙연자사메소드정의 - (void)add:(double)value; - // Calculator.m #import Calculator - (void)setaccmulator:(double)value accmulator = value; - (double)accumlator return accmulator; - (void)add:(double)value accmulator = accmulator + value; - (void)minus:(double)value accmulator = accmulator - // main.m // Calaculator // // Created by Jonghyun Kim on // Copyright (c) 2013 년 Jonghyun Kim. All rights reserved. // #import <Foundation/Foundation.h> #import "Calculator.h" int main(int argc, const char * Calculator *deskcalc; deskcalc = [[Calculator alloc] init]; [deskcalc setaccmulator:0]; [deskcalc add:100]; [deskcalc minus:25]; NSLog(@"Result is %f", [deskcalc accumlator]); return 0; 9

10 ( 결과값은?) ( 프로그래밍문제 ) 위 Calculator 프로그램을사칙연산이가능하도록곱하기 (multi), 나누기 (divide) 메소드를추가하고, 연산된값을초기화 (0) 할수있는 (accmulator 의 값을 0) clear 메소드를추가하라. 3. Property 변수 - 멤버변수를클래스외부에서사용하기위하여세터 (setter) 와게터 (getter) 메소드제공 - 프로퍼티를이용하면메소드호출 ([ ]) 대신에점 (.) 을이용해서접근가능함 - 지시자를사용하여선언, 지시자를사용하여점 (.) 연산자이용시사용할게터와세터메소드를컴파일러가 자동생성하도록함. 최근 ios 6.0 됨 ( aut( 결과값은?) 를사용하지않아도 ( 프로그램예제 ) Rectangle 클래스정의, 인스턴스변수, 인스턴스메소드 // main.m // Rectangle #import Rectangle : NSObject int width; // 넓이 int height; // 높이 - (void)setwidth:(int)newwidth; - (int)width; - (void)setheight:(int)newheight; - (int)height; Rectangle - (void)setwidth:(int)newwidth width = newwidth; - (int)width 10

11 return width; - (void)setheight:(int)newheight height = newheight; - (int)height return height; - (int)size return width * int main(int argc, const char * Rectangle *r = [[Rectangle alloc]init]; [r setheight:10]; [r setwidth:20]; NSLog(@" 사각형의넓이는 : %i", [r size]); return 0; ( 프로그래밍문제 2) 위프로그램예제를 property 변수를사용하여다시프로그래밍하시오. // main.m // Rectangle #import Rectangle : NSObject int _width; int _height; - (int)size; // property int width, 11

12 @implementation Rectangle - (int)size return _width * int main(int argc, const char * Rectangle *r = [[Rectangle alloc]init]; //[r setheight:10]; //[r setwidth:20]; r.height = 10; r.width = 20; NSLog(@" 사각형의넓이는 : %i", [r size]); return 0; ( 프로그래밍문제 3) 위 Calculator 프로그램을사칙연산이가능하도록곱하기 (multi), 나누기 (divide) 메소드를추가하고, 연산된값을초기화 (0) 할수있는 (accmulator 의 값을 0) clear 메소드를추가하라. 12

13 Day 3. Story Board 를사용한 ButtonFun 제작 1. Story Board 2. ButtonViewController.h // ButtonFunViewController.h // ButtonFun #import ButtonFunViewController : (strong, nonatomic) IBOutlet UILabel *mylabel; - 3. ButtonViewController.m // ButtonFunViewController.m // ButtonFun #import ButtonFunViewController 13

14 - (IBAction)buttonPressed:(id)sender NSString *title = [sender titleforstate:uicontrolstatenormal]; NSString *newstr = [NSString stringwithformat:@"%@ is pressed", title]; _mylabel.text = 4. 시뮬레이터결과 ( 프로그래밍문제 ) 두개의버튼 (Left, Right) 를각각선택하면 Label 에아래와같이 출력하도록하시오. 14

15 15

16 Day 4. Mini 프로젝트 : Tap Me 게임제작 01 < 내용 > "Ray Wenderlich 의 ios for High School" 의 Tap Me 앱소스를다음과같이창의적인기능을추가하여수정함 1. "Tap Me" 버튼을최초터치할때 Timer 가작동을시작함 2. 최종결과값을보여주는 UIAlertView 에 "Game Stop" 가능추가 3. 게임랭킹을보여주는기능을작성해보기바람 ( 게임스코어를배열등에저장...) 4. 기타등등좋은아이디어를추가하기... < 앱스크린 > 16

17 < 스토리보드 > 17

18 < 소스코드 > // TapMeViewController.h // TapMe #import TapMeViewController : UIViewController <UIAlertViewDelegate> NSInteger count; // 현재 tap count 기록 NSInteger seconds; // 현재시간기록 NSTimer *timer; // 타이머클래스변수 bool timeron; // ON 이면타이머작동, OFF (strong, nonatomic) IBOutlet UILabel (strong, nonatomic) IBOutlet UILabel *timerlabel; - // TapMeViewController.m #import TapMeViewController - (void)viewdidload [super viewdidload]; // Do any additional setup after loading the view, typically from a nib. // 타이머메소들실행... [self setupgame]; - (void)didreceivememorywarning [super didreceivememorywarning]; // Dispose of any resources that can be recreated. - (IBAction)buttonPressed:(id)sender timeron = true; // 버튼을누르면타이머작동시작 count++; self.scorelabel.text = [NSString stringwithformat:@"score\n%i", count]; - (void)setupgame timeron = false; // Timer Switch Off seconds = 30; count = 0; // 화면초기화 _timerlabel.text = [NSString stringwithformat:@"time: %i", seconds]; // 타이머가동 timer = [NSTimer scheduledtimerwithtimeinterval:1.0f target:self // 내자신이객체에서타이머호출 selector:@selector(substracttime) userinfo:nil 18

19 repeats:yes]; - (void)substracttime if(timeron) seconds--; // Timer 작동 _timerlabel.text = [NSString stringwithformat:@"time: %i", seconds]; if (seconds == 0) [timer invalidate]; // UIAlertView 를사용하여최종 score 를출력... NSString *finalscore = [NSString stringwithformat:@"you scored %i points",count]; UIAlertView *alert = [[UIAlertView alloc] initwithtitle:@"time is up" message:finalscore delegate:self cancelbuttontitle:@"play Again" otherbuttontitles:@"game Stop", nil]; [alert show]; timeron = false; - (void)alertview:(uialertview *)alertview clickedbuttonatindex:(nsinteger)buttonindex if (buttonindex == 0) [self setupgame]; else if (buttonindex == 1) 19

20 Day 5~6. Mini 프로젝트 : Tap Me 게임제작 02 * 프로젝트결과보고서양식을다운로드받아잘작성하여, 김종현 교수 (jhkim@dit.ac.kr) 로보내기바람 ( 파일명 : 장서현 _ 프로젝트 _ 보고서.docx). 1. 그림, 사운드등리소스파일 (TabMe_Resources.zip) 첨부 2. 앱스크린 3. 게임음악 ( 오디오 ) 처리 - <AVFoundation/AVFoundation.h> - AVAudioPlayer 클래스사용법 4. 소스코드 // TabMeViewController.h // MyTabMe01 #import <UIKit/UIKit.h> #import TabMeViewController : UIViewController <UIAlertViewDelegate> NSInteger count; 20

21 NSInteger seconds; NSTimer *timer; // AVAudioPlayer 객체선언 AVAudioPlayer *buttonbeep; // 버튼터치할때음원 AVAudioPlayer *secondbeep; // Timer 음원 AVAudioPlayer *backgroundmusic; // (strong, nonatomic) IBOutlet UILabel (strong, nonatomic) IBOutlet UILabel *timerlabel; - // TabMeViewController.m // MyTabMe01 #import TabMeViewController - (void)viewdidload [super viewdidload]; //self.view.backgroundcolor = [UIColor purplecolor]; // ADD THIS!! self.view.backgroundcolor = [UIColor colorwithpatternimage:[uiimageimagenamed:@"bg_tile.png"]]; self.scorelabel.backgroundcolor = [UIColor colorwithpatternimage: [UIImage imagenamed:@"field_score.png"]]; self.timerlabel.backgroundcolor = [UIColor colorwithpatternimage: [UIImage imagenamed:@"field_time.png"]]; // 오디오설정메소드 (setupaudioplayerwithfile) 을실행하여 AVAudioPlater 객체생성 buttonbeep = [self setupaudioplayerwithfile:@"buttontap" type:@"wav"]; secondbeep = [self setupaudioplayerwithfile:@"secondbeep" type:@"wav"]; backgroundmusic = [self setupaudioplayerwithfile:@"hallofthemountainking"type:@"mp3"]; [self setupgame]; - (AVAudioPlayer *)setupaudioplayerwithfile:(nsstring *)file type:(nsstring *)type // 1. 오디오파일명을인자로받아 PC 파일시스템에있는오디오파일의위치를찾음 (path) NSString *path = [[NSBundle mainbundle] pathforresource:file oftype:type]; NSURL *url = [NSURL fileurlwithpath:path]; NSLog(@"%@", url); // 2. 인자로받은오디오파일이존재하지않을때예외처리 NSError *error; // 3. 오디오파일이있는위치 (path) 와파일을사용하여 AVAudioPlayer 객체생성 AVAudioPlayer *audioplayer = [[AVAudioPlayer alloc] initwithcontentsofurl:urlerror:&error]; // 4. 오디오파일이존재하지않을때예외처리 if (!audioplayer) NSLog(@"%@",[error description]); // 5. 메소드을호출한곳으로객체를넘겨줌 return audioplayer; 21

22 - (IBAction)buttonPressed:(id)sender pressed!!!"); //_scorelabel.text count ++; _scorelabel.text = [NSString stringwithformat:@"score\n%i", count]; [buttonbeep play]; // Timer 설정 - (void)setupgame seconds = 30; count = 0; [backgroundmusic setvolume:0.3]; [backgroundmusic play]; _timerlabel.text = [NSString stringwithformat:@"time: %i", seconds]; _scorelabel.text = [NSString stringwithformat:@"score\n%i", count]; timer = [NSTimer scheduledtimerwithtimeinterval:1.0f target:self selector:@selector(subtracttime) userinfo:nil repeats:yes]; - (void)subtracttime seconds--; _timerlabel.text = [NSString stringwithformat:@"time: %i", seconds]; [secondbeep play]; if (seconds == 0) [timer invalidate]; UIAlertView *alert = [[UIAlertView alloc] initwithtitle:@"time is up!" message:[nsstring stringwithformat:@"you scored %i points", count] delegate:self cancelbuttontitle:@"play Again" otherbuttontitles:nil]; [alert show]; - (void)alertview:(uialertview *)alertview clickedbuttonatindex:(nsinteger)buttonindex [self 22

23 수업후기 1. 프로젝트내용 프로젝트과제인어플리케이션은일정시간을두고얼마만큼가운데의버튼을클릭하는지를게임으로만든것입니다. 이름은 TapMe 이며, 디자인은미국의고등학생들을위한 ios 프로그래밍자료인 ( 에서참고하였습니다. 주어진시간은 30 초이며이시간내에최대한많이누를수록점수 (Score) 가많이올라갑니다. 원래어플리케이션을실행하자마자바로타이머가작동하였으나, 버튼을클릭하는순간부터시간이흘러야점수를확실하게측정할수있다고판단하여첫클릭을하는순간부터시간이흐르도록설정하였습니다. 시간이모두흐르면끝났다는메세지와함께점수를보여주고, 메세지의버튼을누르면 Time 은다시 30 으로리셋이되며 Tap Me! 버튼을누를때까지흐르지않는, 즉어플리케이션을실행했던그순간으로돌아갑니다. 어플리케이션을만들고테스트하던중, 30 초가지날때까지계속기다리는것이불편하여서리셋 (Reset) 기능을넣었습니다. 처음리셋버튼을넣을때각함수에대해연결하는방법을몰랐지 ios 6 프로그래밍 을보고공부하였고 Reset 기능을추가할수있었습니다. 하단에 Reset 버튼을누르게되면다시맨처음상태로돌아가고, 다시시작할수있습니다. 점수를데이터로저장하는방법을찾아보았지만결국알수없었고어쩔수없이 어플리케이션이켜져있는동안가장높은기록을 Max 값에넣어두었습니다. 그리고 시간이끝나면나오는메세지에함께뜨도록만들었습니다. 디자인작업을할때 Retina 와 non-retina 를각자따로작업해주었고, 그결과 디자인이모든아이폰에맞도록만들었습니다. 23

24 2. 프로젝트소감 처음으로 Xcode 를통해서게임을만들어보았습니다. Tap Me! 어플리케이션을만들기시작했을때는내가과연이런걸만들수있을까하는생각과안드로이드버전으로도만들어봤는데 ios 버전이라고못만들게뭐가있는가하는생각이겹쳐있었습니다. 계속만들면서프로그래밍실력이느는것을느꼈고저는프로그래밍에자신감이붙을수있었습니다. 그리고기본과제에만만족하는것이아닌, 제가원하는여러가지기능을추가시켰습니다. 예를들어 Reset 버튼이나 Max 값에들어있는기록을들수있는데, 이런기능을추가시키면서공부할수있어서더욱보람찼습니다. 이어플리케이션은처음만든게임인만큼정이들어있습니다. 그래서조금더 수정하고다듬어서제자신만의독특한어플리케이션을만들고싶습니다. 나아가 24

25 제가지금까지필요했던어플리케이션을누구에게의존하여만들어달라고하는게 아니라제가직접만들어서실용적으로사용하고싶습니다. 그리고이 어플리케이션으로다른사람들을돕고싶습니다. - 중 3 창의성반김기홍작성 - 25

26 프로젝트최종보고서 26

27 부산광역시정보영재교육원여름방학집중기수업프로젝트보고서 제목 : 아이폰 Tap Me 게임앱개발 이름 : 김기홍소속 : 중 3 창의성반지도 : 동의과학대학교김종현교수님날짜 : ~

28 1. 아이폰결과화면 28

29 2. 프로젝트내용이어플리케이션은일정시간을두고얼마만큼가운데의버튼을클릭하는지를게임으로만든것입니다. 이름은 TabMe 이며, 디자인은 ( 1) 에서참고하였습니다. 주어진시간은 30 초이며이시간내에최대한많이누를수록점수 (Score) 가많이올라갑니다. 원래어플리케이션을실행하자마자바로타이머가작동하였으나, 버튼을클릭하는순간부터시간이흘러야점수를확실하게측정할수있다고판단하여첫클릭을하는순간부터시간이흐르도록설정하였습니다. 시간이모두흐르면끝났다는메세지와함께점수를보여주고, 메세지의버튼을누르면 Time 은다시 30 으로리셋이되며 Tap Me! 버튼을누를때까지흐르지않는, 즉어플리케이션을실행했던그순간으로돌아갑니다. 어플리케이션을만들고테스트하던중, 30 초가지날때까지계속기다리는것이불편하여서리셋 (Reset) 기능을넣었습니다. 처음리셋버튼을넣을때각함수에대해연결하는방법을몰랐지 ios 6 프로그래밍 을보고공부하였고 Reset 기능을추가할수있었습니다. 하단에 Reset 버튼을누르게되면다시맨처음상태로돌아가고, 다시시작할수있습니다. 점수를데이터로저장하는방법을찾아보았지만결국알수없었고어쩔수없이어플리케이션이켜져있는동안가장높은기록을 Max 값에넣어두었습니다. 그리고시간이끝나면나오는메세지에함께뜨도록만들었습니다. 디자인작업을할때 Retina 와 non-retina 를각자따로작업해주었고, 그결과디자인이모든아이폰에맞도록만들었습니다. 3. 소감처음으로 Xcode 를통해서게임을만들어보았습니다. Tab Me! 어플리케이션을만들기시작했을때는내가과연이런걸만들수있을까하는생각과안드로이드버전으로도만들어봤는데 ios 버전이라고못만들게뭐가있는가하는생각이겹쳐있었습니다. 계속만들면서프로그래밍실력이느는것을느꼈고저는프로그래밍에자신감이붙을수있었습니다. 그리고기본과제에만만족하는것이아닌, 제가원하는여러가지기능을추가시켰습니다. 예를들어 Reset 버튼이나 Max 값에들어있는기록을들수있는데, 이런기능을추가시키면서공부할수있어서더욱보람찼습니다. 이어플리케이션은처음만든게임인만큼정이들어있습니다. 그래서조금더수정하고다듬어서제자신만의독특한어플리케이션을만들고싶습니다. 나아가제가지금까지필요했던어플리케이션을누구에게의존하여만들어달라고하는게아니라제가직접만들어서실용적으로사용하고싶습니다. 그리고이어플리케이션으로다른사람들을돕고싶습니다. 29

30 부산광역시정보영재교육원여름방학집중기수업프로젝트보고서 제목 : 아이폰 Tap Me 게임앱개발 이름 : 김나영소속 : 중 3 창의성반지도 : 동의과학대학교김종현교수날짜 :

31 1. 아이폰결과화면 Tap Me 앱첫실행화면 1 회클릭 = 스코어 1, 타이머동시시작 30 초경과점수결과, 재시작클릭, 첫화면으로리셋재시작여부팝업창 (* 게임종료클릭시게임종료 ( 아이폰바탕화면으로..) ) 31

32 2. 내용 ( 소스파일캡쳐 ) 32

33 33

34 34

35 3. 소감아직프로그래밍실력이많이부족하고개인적으로 x-code 를사용하여게임을만들어본적이없어서 Tap Me 앱을만들어낼수있을까하는생각이먼저들었지만프로젝트로친구들, 선생님과함께할수있는기회가주어져서많이배울수있는기회가되었습니다. 새로운코드를배운것은물론이고게임을만들면서발생하는오류들을찾아내서고칠때왜이런오류가났을까에대해생각하게되고프로그래밍을할때구조를어떤식으로짜야하는지조금더감을잡을수있게된것같았습니다. 그리고이게임을만들면서외부이미지나사운드파일을처음첨부해보았는데첨부한파일을스토리보드에서적용시키지않고코드로적용시키는것도신기했습니다. 제손으로직접만들어낸첫작품이라부족한모습도많이보이지만그래도조금이나마발전했다는생각이들어서매우보람찬시간이였고지금까지배운것으로만들수있는앱이몇개되지않는다는생각이들지만꾸준히공부하여서제가상상하던게임이나실생활에필요하다고생각되는앱들을스스로개발할수있고, 주변에서원하는기술들을만들수있는정도의능력을갖추고싶습니다. 지금보다더크게발전해나갈 IT 계에기여할수있는사람이되었으면좋겠습니다. 35

36 부산광역시정보영재교육원중 3 창의성반 여름방학집중기수업프로젝트보고서 제목 : 아이폰 Tap Me 게임앱개발 이름 : 김준엽소속 : 중 3 창의성반지도 : 동의과학대학교김종현교수님날짜 : ~ 아이폰결과화면 36

37 2. 내용 37

38 3. 소감 현재삼성, LG 등에서제작하고있는안드로이드폰이현재아이폰보다매출이더증가한다고한다. 그래서인지우리주변사람들을보면스마트폰중에서교육용을제외하고는아이폰을쓰는사람은그렇게많지않다. 그때문인지나도아이폰에대한관심이낮아지게될뿐만아니라 ios 프로그래밍은잘하지못했다. 나도처음맥을이용해서 ios 프로그래밍을할때는선생님설명을잘따라가지못하면어쩌나, 어려울것같은데등의걱정이많이생겼었다. 하지만김종현교수님께서는복잡해보이는코드를쉽게설명해주셨다. 또 Tap me 라는간단한게임을만들면서, 겉으로는간단해보일지몰라도실제로만들때들어가는코드가엄청많다는것을새삼느끼게되었다. 기회가된다면, 집에맥을사서직접다양한앱을만들어보고싶다. 38

39 ios 아이폰어플만들기 프로젝트보고서 중 3 컴퓨터창의성반손하은 1. 결과화면 39

40 2. 프로젝트내용 Xcode 와 object-c 를이용한 app 만들기 -code 넣기 ( 프로그램기반, 변수지정등등.. 매우많음 ) - 이미지삽입 ( 배경화면설정, 버튼모양 ) - 클릭시이벤트 ( 숫자적립 ) -Label 이용 ( 정적 : 이름띄우기, 동적 : 시간, 점수 - 꾸미는법 ( 색넣기그림넣기등등 ) -timer 넣기 ( 시간이지날수록숫자차감, 0 이되면끝 ) - 알림창 ( 게임이끝날시, 다시 or 끝의선택화면 ) - 클릭시이미지변화 =Tap me: 버튼을 30 초동안터치해서점수올리는게임. 3. 소감 40

41 작년에했던 ios 기반앱만들기와는조금달라서신기했고작년보다조금더어려웠다. 작년에는 object 를많이이용하고그기능자체로대부분만들었는데이번에는우리가코드를집적입력하는것이대부분이라서그런것같다. 자꾸에러가많이나서좀힘들기도했고갑자기생각대로안되서애먹었고특히 timer 가안되서결국친구들과선생님도움도많이받았지만마지막에내가만든결과물을보니신기하고보람있었다. 다만결국마지막까지버튼주변의하얀바탕은안없어져서그게좀아쉽다. 다음에도이런기회가있다면좀더어렵고재밌는걸만들어서지금보다 UI 를좀예쁘게꾸며보고싶. 지금은폰을바꿔서이앱이안들어가겠지만다음에혹시다시아이폰으로바꾸게된다면탈옥해서앱을넣어봐야겠다 41

42 부산광역시정보영재교육원중 3 창의성반여름방학집중기수업프로젝트보고서 제목 : 아이폰 Tap Me 게임개발 이름 : 우정규소속 : 중 3 창의성반지도 : 동의과학대학교김종현교수님날짜 : ~ 아이폰결과물사진 42

43 2. 내용 43

44 (Screenshots, Lectures) [Head File] [Main File] 44

45 45

46 46

47 47

48 [Story Board] [ 설명 ] 이것은 TabMe 라는이름을가진어플리케이션이다. 싱글뷰를이용해만들었으며, 기본적인베이스는두개의라벨 ( 시간표시, 점수표시 ) 와버튼한개 ( 누르면점수가올라감 ) 로이루어져있다. 어플을실행하게되면, 맨위의아이폰결과화면첫번째화면처럼뜨며, 가운데의 Tap Me! 버튼을누르게되면맨위의 time 부분이 30 초부터카운트다운되며, bgm 이나오게된다. 또한 Tap Me! 버튼을누를때마다, 스코어가증가한다. 타이머가다끝나고난뒤에는, 시간이끝났다는알림이뜨며, 그밑에는자기가세운스코어가표시되고, 게임을계속할것인가아니면종료할것인가를결정하는두개의버튼이있다. 만약전자를누르게된다면맨처음화면으로리셋되어돌아가고, 후자를누르게된다면어플리케이션이종료된다. 48

49 소스는전체적으로는간단한편이나, bgm 부분과알람창부분, 그리고타이머부분의소스가조금복잡해서힘이들었다. 맨처음소스는어플을실행시키자마자바로게임이시작되게소스가구성되어있었는데, 불편함이느껴졌다. 처음에는 Integer 로변수 a 와 b 를선언하여, a 는타이머와관련, b 는 bgm 과관련해서 tab me 버튼을누를때타이머와 bgm 이시작되게소스를구성했다. 하지만나중에김종현교수님이 bool 함수를이용해서소스를짜게되면더간단하게될수있다는말을듣고, a = s, b = bg 로고쳐서 bool 로선언한뒤, 소스를짜보았다. 하이스코어를저장하여보여주는부분도만들어보려는했으나, 배열을이용해야하여복잡하고어려워만들지못하였다. 3. 소감평소에어플리케이션이라는것을매우흥미롭게생각해왔었고, 한번쯤은나도만들어보고싶다는생각을항상했었었다. 정보영재원에들어와서, 2 학년때 objective-c 와 x-code 를접하게되면서, ios 어플을어느정도는만들정도가되었다. 이번에김종현교수님과함께한 TabMe 어플만들기프로젝트는나에게는아주흥미로운것이었다. 조금더많은기능들을넣어보고싶었으나, 아직실력이부족할뿐만아니라, 주어진시간이부족하여많은기능을넣는부분은실패하고말았다. 기본적인 Tab Me 소스를보니, 바로어플이시작되자마자, 게임이시작되고, 게임이끝난후다시하기를누르니바로또게임이시작되는불편함이존재했다. 그에관련해서따로 start 버튼을만들어보았으나, 그보다는 tab me 버튼을눌렀을때게임이시작되는것이어떻겠느냐는의견을듣고그에맞추어서수정하게되었다. 평소학원을다니거나내신대비를한다고좋아하는어플만들기를할기회가거의없었는데, 이렇게집중기동안 ios 어플을만들어보게되어정말좋았다. 1 년전에배운것을거의까먹은상태라처음에는조금힘들었으나, 계속하다보니자신감이붙었고, 재미있다는생각이들었다. 이제까지는스트레스를게임이나 tv 보기, 웹서핑하기등으로풀었었는데, 이렇게좋아하는어플을만드는것도하나의좋은취미이자스트레스해소법이될수도있겠다고생각했다. 짧은기간이었지만 ios 어플만들기를강의해주신동의과학대학교김종현교수님께감사드린다. 49

05-06( )_¾ÆÀÌÆù_ÃÖÁ¾

05-06( )_¾ÆÀÌÆù_ÃÖÁ¾ 6 T o u c h i n g t h e i P h o n e S D K 3. 0 6.1 01: -(void) touchesbegan:(nsset * ) touches withevent:(uievent * )event { 02: NSSet * alltouches = [event alltouches]; 03: if ([alltouches count]>1)

More information

2ndWeek_Introduction to iPhone OS.key

2ndWeek_Introduction to iPhone OS.key Introduction to iphone OS _2 Dept. of Multimedia Science, Sookmyung Women s University. Prof. JongWoo Lee Index iphone SDK - - - Xcode Interface Builder Objective-C Dept. of Multimedia Science, Sookmyung

More information

iOS4_13

iOS4_13 . (Mail), (Phone), (Safari), SMS, (Calendar).. SDK API... POP3 IMAP, Exchange Yahoo Gmail (rich) HTML (Mail). Chapter 13.... (Mail)., (Mail).. 1. Xcode View based Application (iphone) Emails. 2. EmailsViewController.xib.

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

자바 웹 프로그래밍

자바 웹 프로그래밍 Chapter 00. 강의소개 Chapter 01. Mobile Application Chapter 02. 기본프로그래밍 강의내용최근큰인기를끌고있는 Mobile Application 에관한소개및실제이를위한개발방법을소개하며, Application 개발에관한프로그래밍을간략히진행 강의목표 - 프로그래밍의기본흐름이해 - 창의 SW 설계에서프로그래밍을이용한프로젝트진행에도움을주기위함

More information

Microsoft PowerPoint - 2-Objective-C 기초

Microsoft PowerPoint - 2-Objective-C 기초 클래스와오브젝트 메모리관리 순천향대학교컴퓨터공학과이상정 1 Objective-C 소개 C 언어에 Smalltalk 스타일의메시지전달을결합한객체지향프로그래밍언어 Objective-C 와코코아는 Mac OS X 운영체제의핵심 개발역사 1980 년대초에 Stepstone 사의 Brad Cox 와 Tom Love 가개발 1985년에 Steve Jobs가저렴한워크스테이션개발을위해

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

Microsoft PowerPoint - 4-UI 애플리케이션

Microsoft PowerPoint - 4-UI 애플리케이션 UIApplication 클래스 UIApplicationDelegate 프로토콜 순천향대학교 컴퓨터공학과 이 상 정 1 UIApplication 클래스 순천향대학교 컴퓨터공학과 이 상 정 2 UIApplication 클래스 개요 이 장에서는 UIApplication 클래스를 기본으로 하여 아이폰 프 로그램 동작 과정을 이해 인터페이스 빌더를 사용하지 않는 아이폰

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

캐빈의iOS프로그램팁01

캐빈의iOS프로그램팁01 캐빈의 ios 프로그램팁 글쓴이 : 안경훈 (kevin, linuxgood@gmail.com) ios 로프로그램을만들때사용할수있는여러가지팁들을모아보았다. 이글을읽는독자는처음으로 Objective-C 를접하며, 간단한문법정도만을알고있다고생각하여되도록그림과함께설명을하였다. 또한, 복잡한구현방법보다는매우간단하지만, 유용한프로그램팁들을모아보았다. 굳이말하자면 ios

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

슬라이드 1

슬라이드 1 정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

슬라이드 1

슬라이드 1 LG U + 고객안내用 신한카드모바일 App. 결제서비스출시와관련한고객사안내 2012. 11. LG U + 전자결제서비스 1. 기본개요 최근적용된 [ 신한카드모바일 App. 결제서비스 ] 와관련하여 1 서비스개요및 2 고객사변경필요사항을정리하여안내드립니다. 서비스개요 : 신한카드가제공하는결제 App. 을사용해사전등록한신한카드정보를선택한후결제비밀번호를입력하여결제하는서비스

More information

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas 플랫폼사용을위한 ios Native Guide - 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager class 개발. - Native Controller에서

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

중간고사

중간고사 중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345]) 클래스의응용 클래스를자유자재로사용하자. 이장에서다룰내용 1 객체의치환 2 함수와클래스의상관관계 01_ 객체의치환 객체도변수와마찬가지로치환이가능하다. 기본예제 [7-1] 객체도일반변수와마찬가지로대입이가능하다. 기본예제 [7-2] 객체의치환시에는조심해야할점이있다. 복사생성자의필요성에대하여알아보자. [ 기본예제 7-1] 클래스의치환 01 #include

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin OSP Stage 2040 < Design > 그놈! Clone Checker Project Team T4 Date 2016-04-12 Team Information 201411258 강태준 201411265 김서우 201411321 홍유리 Team 4 1 Contents Activity 2041. Define Real s Activity 2042. Define

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 객체지향프로그래밍 (OOP: object-oriented programming) 은우리가살고있는실제세계가객체 (object) 들로구성되어있는것과비슷하게, 소프트웨어도객체로구성하는방법이다. 객체는상태와동작을가지고있다. 객체의상태 (state) 는객체의속성이다. 객체의동작 (behavior) 은객체가취할수있는동작 ( 기능 ) 이다. 객체에대한설계도를클래스 (class)

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Chapter_02-3_NativeApp

Chapter_02-3_NativeApp 1 TIZEN Native App April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 목차 2 Tizen EFL Tizen EFL 3 Tizen EFL Enlightment Foundation Libraries 타이젠핵심코어툴킷 Tizen EFL 4 Tizen

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public Chapter 9 Lab 문제정답 1. public class Circle private double radius; static final double PI=3.141592; // PI 이름으로 3.141592 로초기화된정적상수 (1) public Circle(double r) radius = r; (2) public double getradius() return

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++, Level 1은객관식사지선다형으로출제예정 1. 다음은 POST(Post of Sales Terminal) 시스템의한콜레보레이션다이어그램이다. POST 객체의 enteritem(upc, qty) 와 Sale 객체의 makellineitem(spec,qty) 를 Java 또는 C ++, C # 언어로구현하시오. 각메소드구현과관련하여각객체내에필요한선언이있으면선언하시오.

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

(Microsoft PowerPoint - 11\300\345.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - 11\300\345.ppt [\310\243\310\257 \270\360\265\345]) 입출력 C++ 의효율적인입출력방법을배워보자. 이장에서다룰내용 1 cin 과 cout 을이용한입출력 2 입출력연산자중복 3 조작자생성 4 파일입출력 01_cin 과 cout 을이용한입출력 포맷입출력 C++ 의표준입출력은 cin, cout 을사용한다. C 의 printf 는함수이므로매번여러인자를입력해줘야하지만, cin/cout 에서는형식을한번만정의하면계속사용할수있다.

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 15 고급프로그램을 만들기위한 C... 1. main( ) 함수의숨겨진이야기 2. 헤더파일 3. 전처리문과예약어 1. main( ) 함수의숨겨진이야기 main( ) 함수의매개변수 [ 기본 14-1] main( ) 함수에매개변수를사용한예 1 01 #include 02 03 int main(int argc, char* argv[])

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Microsoft PowerPoint 장강의노트.ppt

Microsoft PowerPoint 장강의노트.ppt 클래스와객체 클래스와객체 객체 : 우리주변의어떤대상의모델 - 예 : 사람, 차, TV, 개 객체 = 상태 (state) + 행동 (behavior) - 예 : 개의상태 - 종자, 이름, 색개의행동 - 짖다, 가져오다 상태는변수로행동은메소드로나타냄 객체는클래스에의해정의된다. 클래스는객체가생성되는틀혹은청사진이다. 2 예 : 클래스와객체 질문 : 클래스와객체의다른예는?

More information

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - Chapter 6.ppt 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)

More information