자바 웹 프로그래밍

Similar documents
JAVA PROGRAMMING 실습 08.다형성

gnu-lee-oop-kor-lec06-3-chap7

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

Microsoft PowerPoint - 2-Objective-C 기초

PowerPoint Presentation

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - 2강

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

C++ Programming

PowerPoint 프레젠테이션

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

PowerPoint Template

PowerPoint Presentation

Microsoft PowerPoint 장강의노트.ppt

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

K&R2 Reference Manual 번역본

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

2ndWeek_Introduction to iPhone OS.key

쉽게 풀어쓴 C 프로그래밍

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

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Modern Javascript

iOS4_13

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

PowerPoint Presentation

02 C h a p t e r Java

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

오버라이딩 (Overriding)

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

C++ Programming

PowerPoint Presentation

02_3 지리산권 스마트폰 기반 3D 지도서비스_과업지시서.hwp

17장 클래스와 메소드

제8장 자바 GUI 프로그래밍 II

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

PowerPoint Presentation

( )부록

01-OOPConcepts(2).PDF

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

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

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

PowerPoint 프레젠테이션

설계란 무엇인가?

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

03장.스택.key

Design Issues

슬라이드 1

제11장 프로세스와 쓰레드

Network Programming

gnu-lee-oop-kor-lec10-1-chap10

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft PowerPoint - Chapter 6.ppt

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

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

Week3

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - Java7.pptx

ȸº¸115È£

Microsoft PowerPoint - 14주차 강의자료

5장.key

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

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

JAVA PROGRAMMING 실습 02. 표준 입출력

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

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

유니티 변수-함수.key

C++ Programming

untitled

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

Microsoft PowerPoint - 04-UDP Programming.ppt

PowerPoint 프레젠테이션

자바 프로그래밍

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

Microsoft PowerPoint - additional07.ppt [호환 모드]

JUNIT 실습및발표

PowerPoint 프레젠테이션

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

01....b

(291)본문7

2007백서-001-특집

00목차

Microsoft PowerPoint - CSharp-10-예외처리

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

PowerPoint Presentation

Microsoft PowerPoint 세션.ppt

Microsoft PowerPoint - [2009] 02.pptx

Chapter #01 Subject

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Transcription:

Chapter 00. 강의소개 Chapter 01. Mobile Application Chapter 02. 기본프로그래밍

강의내용최근큰인기를끌고있는 Mobile Application 에관한소개및실제이를위한개발방법을소개하며, Application 개발에관한프로그래밍을간략히진행 강의목표 - 프로그래밍의기본흐름이해 - 창의 SW 설계에서프로그래밍을이용한프로젝트진행에도움을주기위함 강사소개 - 정명범 : 010-6771-1061, nzin@ssu.ac.kr

Mobile Application = 모바일응용소프트웨어스마트폰, 태블릿 PC 등 Mobile 에서실행되는응용소프트웨어 - 구글플레이 : 안드로이드앱, App Store : 아이폰앱 Mobile Application 분류 (Apple Store 기준 ) 건강및피트니스, 게임, 금융, 교육, 날씨, 내비게이션, 뉴스, 도서, 라이프스타일, 비즈니스, 사진및비디오, 생산성, 쇼핑, 소셜네트워킹, 스포츠, 어린이, 엔터테인먼트, 여행, 유틸리티, 음식및음료, 음악, 의학, 잡지및신문, 참고, 카탈로그

사용기술에따른분류 Data 저장소에따른분류 Local Data 사용 Network Data 사용 Sensor 사용에따른분류 * Ambient light, Proximity, Dual Cameras, GPS, Accelerometer Dual microphones, Compass, Gyroscope 등 * A Survey of Mobile Phone Sensing

Android Java 언어, Windows & Mac 에서개발 eclipse JDK Android SDK ios Objective C & Swift 언어, Mac 에서개발 Xcode - Class Level - 20: beginner level 10: medium 6: upper medium 4: no experience

Objective C 아이폰과맥 os x 개발을위한 objective-c 2.0 프로그래밍의기본을익힘 객체지향언어 Class, 상속, 컴포지션, 소스파일구성등 Application 개발방법소개 윈도우에서 Objective C 프로그래밍을하기위한웹 http://www.tutorialspoint.com/compile_objective-c_online.php 윈도우에서 Objective C 프로그래밍을하기위한 Dev-C++ http://www.evernote.com/l/ahjak0k9x0zahkhoih64pert6llzmwltacg/

절차지향 s 구조체 ShapeRect Shape 함수 drawshapes drawcircle drawrectangle drawegg colorname Main: 실행

절차지향 함수 drawshapes void drawshapes (Shape shapes[], int count) { int i; for (i=0; i<count; i++) { switch (shapes[i].type) { case kcircle: drawcircle (shapes[i].bounds, shapes[i].fillcolor); break; case krectangle: drawrectangle (shapes[i].bounds, shapes[i].fillcolor); break; case koblatespheroid: drawegg (shapes[i].bounds, shapes[i].fillcolor); break; } } }

객체지향 void drawshapes (id shapes[], int count) { int i; for (i=0; i<count; i++) { id shape = shapes[i]; [shape draw]; } } Circle fillcolor bounds setfillcolor: setbounds: draw Rectangle fillcolor bounds setfillcolor: setbounds: draw OblateSphereoid fillcolor bounds setfillcolor: setbounds: draw

객체지향

객체지향 main 함수내코드 Shape shapes[3]; ShapeRect rect0 = {0,0,10,30}; shapes[0].type = kcircle; shapes[0].fillcolor = kredcolor; shapes[0].bounds = rect0; ShapeRect rect1 = {30,40,50,60}; shapes[1].type = krectangle; shapes[1].fillcolor = kgreencolor; shapes[1].bounds = rect1; ShapeRect rect2 = {15,18,37,29}; shapes[2].type = koblatespheroid; shapes[2].fillcolor = kbluecolor; shapes[2].bounds = rect2; drawshapes (shapes, 3); id shapes[3]; ShapeRect rect0 = {0,0,10,30}; shapes[0] = [Circle new]; [shapes[0] setfillcolor:kredcolor]; [shapes[0] setbounds:rect0]; ShapeRect rect1 = {30,40,50,60}; shapes[1] = [Rectangle new]; [shapes[1] setfillcolor:kgreencolor]; [shapes[1] setbounds:rect1]; ShapeRect rect2 = {15,18,37,29}; shapes[2] = [OblateSphereoid new]; [shapes[2] setfillcolor:kbluecolor]; [shapes[2] setbounds:rect2]; drawshapes (shapes, 3);

상속 s Circle Rectangle OblateSphereoid Shape fillcolor bounds fillcolor bounds fillcolor bounds fillcolor Bounds setfillcolor: setbounds: draw setfillcolor: setbounds: draw setfillcolor: setbounds: draw setfillcolor: setbounds: draw Circle Rectangle OblateSphereoid draw draw draw

상속 @interface Shape: NSObject { ShapeColor fillcolor; ShapeRect bounds; } - (void) setfillcolor: (ShapeColor) fillcolor; - (void) setbounds: (ShapeRect) bounds; - (void) draw; @end @implementation Shape - (void) setfillcolor:(shapecolor) c { fillcolor = c; } - (void) setbounds:(shaperect) b { bounds = b; } - (void) draw { } @end

상속시함수의실행 (1)

상속시함수의실행 (2)

상속시함수의실행 (3) 슈퍼클래스의호출

컴포지션 s 각컴포넌트를모아서더큰것을만드는작업 Car 엔진 1 개, 바퀴 4 개로구성된프로그램자동차만들기 Engine, Tire, Car 클래스필요 Car 는 Engine 1 개, Tire 4 개를갖는변수필요함 @interface Tire : NSObject @end @implementation Tire - (NSString *) description { return (@"I am a tire. I last a while"); } @end @interface Engine : NSObject @end @implementation Engine - (NSString *) description { return (@"I am an engine. Vroom!"); } @end

컴포지션 Car, Main 그러나일반적으로 Car 에서엔진과타이어를만드는것이아니라, 엔진과타이어는 Car 를만들때생성해서붙이는방식이되어야함

접근자메소드 int main(int argc, const char * argv[]) { Car *car; car = [Car new]; Engine *engine = [Engine new]; [car setengine:engine]; int i; for (i=0; i < 4; i++) { Tire *tire = [Tire new]; [car settire:tire atindex:i]; } [car print]; } return 0;

CarParts 확장 : 현재만든파일에구현실습 Slant 6 ( 엔진을상속받음 ) I am a slant-6. VROOOM! 출력 AllWeatherRadial ( 타이어를상속받음 ) I am a tire for rain or shine. 출력

파일구성 유지보수를위해자동차, 엔진, 타이어에따른파일분리필요 인터페이스 (interface) 와구현 (implementation) 을나누어야함.h : 인터페이스,.m : 구현

파일구성 Engine.h, Engine.m Tire.h, Tire.m Car.h : 엔진과타이어를변수선언및사용해야함 #import Engine.h #import Tire.h main.m : 차를생성해야하며, 엔진과타이어생성함 #import Car.h Car.h 에서 Engine 과 Tire 를불러왔기때문에별도로추가안함 추가적으로 Slant 6, AllWeatherRadial 도적용

Foundation Kit 소개 Foundation Kit : 데이터조작클래스, 자료타입 Application Kit : 사용자인터페이스객체 ( 버튼, 이미지박스등 ) 데이터를조작하기위해반드시필요한부분 #import <Foundation/Foundation.h>

Foundation Kit 소개 유용한타입 NSRange (location, length) NSMakeRange ( ) NSPoint (x, y), NSSize (width, height) - NSMakePoint( ), NSMakeSize( ) NSRect (NSPoint origin, NSSize size) NSMakeRect( ) 문자열처리클래스 NSString NSString *height = [NSString stringwithformat:@ Height: %d, 5]; 팩토리메소드 : 위와같이새객체를생성하는데사용하는메소드 [height length]; // 위 NSString의길이를알아올때사용

Foundation Kit 소개 NSString

Foundation Kit 소개 컬렉션 NSArray, NSMutableArray NSDictionary, NSMutableDictionary 여러가지값 NSNumber NSValue

객체초기화 s Initialization 초기화를실행하는메소드 : init 차를만들때기본엔진, 기본타이어만드는기본옵션초기화 많은클래스들이편리한이니셜라이저 (initializer) 를가지고있음 NSString *emptystring = [[NSString alloc] init]; string = [[NSString alloc] initwithformat: @ %d or %d, 25, 624]; string = [[NSString alloc] initwithcontentsoffile:@ /tmp/word.txt ]; 타이어를만들때도공기압, 마모상태를초기화 & 설정하는메소드구현가능

타이어초기화및설정코드 #import <Foundation/Foundation.h> @interface Tire : NSObject { float pressure; float treaddepth; } - (void) setpressure:(float) pressure; - (float) pressure; - (void) settreaddepth:(float) treaddepth; - (float) treaddepth; @end

타이어를불러오는곳 (Car.h) 과실제사용하는곳 (main.h) 수정

객체초기화 초기화하면서바로설정하는편리한이니셜라이저작성 - (id) initwithpressure: (float) pressure treaddepth: (float) treaddepth; 초기화하면서타이어공기압만설정하는이니셜라이저 - (id) initwithpressure: (float) pressure; 초기화하면서타이어마모상태만설정하는이니셜라이저 - (id) initwithtreaddepth: (float) treaddepth;

프로그램시연