자바의개념이해및개발환경구축 배효철 th1g@nate.com 1
목차 프로그래밍언어란? 자바란? 자바개발환경구축 자바프로그램개발순서 주석및실행문 이클립스설치 2
목차 프로그래밍언어란? 자바란? 자바개발환경구축 자바프로그램개발순서 주석및실행문 이클립스설치 3
프로그래밍언어란? 프로그래밍언어의역할은? 사람과컴퓨터의대화도움 사람의언어와기계어사이에서다리와같은역할 고급언어와저급언어로구분 4
프로그래밍언어란? 프로그래밍언어의종류 기계어 (machine language) 0, 1의이진수로구성된언어 컴퓨터의 CPU는기계어만이해하고처리가능 어셈블리어 기계어명령을 ADD, SUB, MOVE 등과같은표현하기쉬운상징적인단어인니모닉기호 (mnemonic symbol) 로일대일대응시킨언어 고급언어 사람이이해하기쉽고, 복잡한작업, 자료구조, 알고리즘을표현하기위해고안된언어 Pascal, Basic, C/C++, Java, C# 절차지향언어와객체지향언어로나눌수있음 5
목차 프로그래밍언어란? 자바란? 자바개발환경구축 자바프로그램개발순서 주석및실행문 이클립스설치 6
자바란? JAVA 1995 년썬마이크로시스템즈 (Sun Microsystems) 에서최초발표한언어 1991 년가전제품에서사용할목적인오크 (Oak) 언어에서부터시작 초기자바는메모리및 CPU 사용량이높아서잘사용되지않음 인터넷과웹의엄청난발전에힘입어퍼지게됨 웹브라우저 Netscape에서실행 인터넷프로그래밍언어로발전하면서자바라는이름으로변경 2010 년오라클에서썬을인수하여 Java 개발, 관리, 배포주관 7
자바란? JAVA 의목적 플랫폼호환성문제해결 기존언어로작성된프로그램은 PC, 유닉스, 메인프레임등플랫폼간에호환성없음 소스를다시컴파일하거나프로그램을재작성해야하는단점 플랫폼독립적인언어개발 모든플랫폼에서호환성을갖는프로그래밍언어필요 네트워크, 특히웹에최적화된프로그래밍언어의필요성대두 메모리사용량이적고다양한플랫폼을가지는가전제품에적용 가전제품 : 작은량의메모리를가지는제어장치 내장형시스템요구충족 8
자바란? JAVA 의특징 이식성이높다!! (WORA) 9
자바란? JAVA 의특징 WORA(Write Once Run Anywhere) 한번작성된코드는모든플랫폼에서바로실행되는자바의특징 C/C++ 등기존언어가가진플랫폼종속성극복 OS, H/W 에상관없이자바프로그램이동일하게실행 네트워크에연결된어느클라이언트에서나실행 웹브라우저, 분산환경지원 WORA 를가능하게하는자바의특징 바이트코드 (byte code) 자바소스를컴파일한목적코드 CPU 에종속적이지않은중립적인코드 JVM 에의해해석되고실행됨 JVM(Java Virtual Machine) 자바바이트코드를실행하는자바가상기계 ( 소프트웨어 ) 10
자바란? JAVA 의특징 자바가상기계 (JVM : Java Virtual Machine) 각기다른플랫폼에설치 동일한자바실행환경제공 자바가상기계자체는플랫폼에종속적 자바가상기계는플랫폼마다각각작성됨 예 ) 리눅스에서작동하는자바가상기계는윈도우에서작동하지않음 자바가상기계개발및공급 자바개발사인오라클외 IBM, MS 등다양한회사에서제작공급 11
자바란? JAVA 의특징 객체지향언어 -> OOP (Object Oriented Programming) 란? 부품객체를먼저만들고이것들을조합해전체프로그램을완성하는기법 자바는처음부터 OOP 개발용언어로설계 캡슐화, 상속, 다형성기능완벽하게지원 12
자바란? JAVA 의특징 함수적스타일코딩지원 함수적스타일코딩방식인람다식 (Lambda Expressions) 지원 코드간결하게작성가능 컬렉션요소를필터링, 매핑, 그룹핑, 집계처리시주로사용 메모리를자동으로관리 사용하지않는객체를자동으로메모리에서제거 핵심기능코드에집중할수있도록하는기능 다양한애플리케이션개발가능 13
자바란? JAVA 의특징 멀티스레드 (Multi-Thread) 쉽게구현가능 동시에여러가지작업을할경우 대용량작업을빨리처리할경우 동적로딩 (Dynamic Loading) 지원 미리객체를만들어놓지않고필요한시점에동적로딩해객체생성 유지보수시특정객체만쉽게수정및교체해사용 막강한오픈소스라이브러리풍부 14
자바란? JAVA 의단점 C 및 C++ 보다느림 하지만지금은그차이가많이줄어듦 15
목차 프로그래밍언어란? 자바란? 자바개발환경구축 자바프로그램개발순서 주석및실행문 이클립스설치 16
자바개발환경구축 자바개발도구 (JDK) 설치 Java Standard Edition 구현체의종류 JDK(Java Development Kit) = JRE + 개발도구 자바프로그램개발하고실행하기위해반드시설치 JRE(Java Runtime Environment) = JVM + 표준클래스라이브러리 자바프로그램을실행만할경우설치 JDK(Java Development Kit) 설치 설치파일다운로드사이트 : http://www.oracle.com API 도큐먼트 JDK 에서제공하는표준클래스라이브러리설명해놓은 HTML 페이지들 http://docs.oracle.com/javase/ 버전 /docs/api/ 17
목차 프로그래밍언어란? 자바란? 자바개발환경구축 자바프로그램개발순서 주석및실행문 이클립스설치 18
자바개발환경구축 소스작성에서부터실행까지 19
자바프로그램개발순서 프로그램소스분석 20
목차 프로그래밍언어란? 자바란? 자바개발환경구축 자바프로그램개발순서 주석및실행문 이클립스설치 21
주석과실행문 주석사용하기 프로그램실행과는상관없이코드에설명붙인것 컴파일과정에서주석은무시되고실행문만바이트코드로번역 코드에서사용하는주석문의종류 22
주석과실행문 실행문과세미콜론 (;) 실행문 변수선언, 값저장, 메소드호출에해당하는코드 실행문끝에는반드시세미콜론 (;) 을붙여실행문의끝표시 23
이클립스설치 이클립스 (Eclipse) 소개 2003 년 IBM 에서개발 자바통합개발환경 (IDE: Integrated Development Environments) 제공 프로젝트생성기능제공 자동코드완성기능제공 디버깅기능제공 이클립스연합 (Eclipse Foundation) 설립 - 지속적버전업과배포 다양한개발환경을구축할수있도록플러그인 (Plug-In) 설치가능 안드로이드개발환경 스프링 (Spring) 개발환경 C, C++ 개발환경 24
목차 프로그래밍언어란? 자바란? 자바개발환경구축 자바프로그램개발순서 주석및실행문 이클립스설치 25
이클립스설치 이클립스다운로드 이클립스는자바언어로개발된툴 - JDK 필요 다운로드사이트 : http://www.eclipse.org Eclipse IDE for Java Developers 버전 순수자바학습용 Eclipse IDE for Java EE Developers 버전 ( 책에서사용하는버전 ) 웹애플리케이션등의 Enterprise (Network) 환경에서실행 CPU 사양에맞게다운로드 26
이클립스설치 워크스페이스 (Workspace) 이클립스에서생성한프로젝트가기본적으로저장되는디렉토리 최초실행시워크스페이스런처 (Workspace Launcher) 에서설정.metadata 디렉토리 자동생성되며이클립스실행시필요한메타데이터저장 이디렉토리삭제하고이클립스실행 - 초기상태로다시실행 27
이클립스설치 퍼스펙티브 (Perspective) 개발프로젝트종류별로유용한 View 들을묶어놓은것 Eclipse IDE for Java EE Developers 기본적으로 Java EE 퍼스펙티브 책에서는 Java 퍼스펙티브로변경해사용 뷰 (View) 퍼스렉티브를구성하는작은창으로여러가지목적에맞게내용보여줌 자유롭게제거하거나추가가능 우리책에서유용한뷰들 Package Explorer Console 28
이클립스설치 소스파일생성과컴파일 에디터옵션설정 쉬운디버깅위해옵션라인번호설정중요 29
이클립스설치 소스코드작성 저장과동시에컴파일 30
이클립스설치 바이트코드실행 실행방법 - 툴바에서클릭 Package Explorer 뷰에서소스파일선택 마우스오른쪽버튼눌러 [Run As -> Java Application] 클릭 31