Cluster management software

Similar documents
PowerPoint Presentation

JAVA PROGRAMMING 실습 08.다형성

Cluster management software

PowerPoint Presentation

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

Cluster management software

쉽게 풀어쓴 C 프로그래밍

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

JAVA PROGRAMMING 실습 09. 예외처리

PowerPoint 프레젠테이션

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

Network Programming

슬라이드 1

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

Microsoft PowerPoint - 2강

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

PowerPoint 프레젠테이션

오버라이딩 (Overriding)

JUNIT 실습및발표

No Slide Title

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint 장강의노트.ppt

제11장 프로세스와 쓰레드

PowerPoint Presentation

슬라이드 1

PowerPoint Presentation

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

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

Spring Boot

PowerPoint 프레젠테이션

02 C h a p t e r Java

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

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Java7.pptx

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

PowerPoint Presentation

Microsoft PowerPoint - Lect04.pptx

C++ Programming

Microsoft PowerPoint - 04-UDP Programming.ppt

JVM 메모리구조

ThisJava ..

PowerPoint 프레젠테이션

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Cluster management software

PowerPoint Presentation

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

PowerPoint 프레젠테이션

Design Issues

JAVA PROGRAMMING 실습 02. 표준 입출력

rmi_박준용_final.PDF

No Slide Title

설계란 무엇인가?

쉽게

JAVA PROGRAMMING 실습 05. 객체의 활용

Microsoft PowerPoint - CSharp-10-예외처리

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

No Slide Title

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

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

Microsoft PowerPoint - lec12 [호환 모드]

Microsoft PowerPoint - RMI.ppt

Semantic Consistency in Information Exchange

PowerPoint Presentation

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

PowerPoint Presentation

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

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밊

Spring Data JPA Many To Many 양방향 관계 예제

9장.예외와 단정

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint 프레젠테이션

C++ Programming

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - 13_UMLCoding(2010).pptx

윤성우의 열혈 TCP/IP 소켓 프로그래밍

Microsoft PowerPoint - java2 [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

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

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

PowerPoint Presentation

PowerPoint 프레젠테이션

제4장 기본 의미구조 (Basic Semantics)

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

4장.문장

PowerPoint 프레젠테이션

PowerPoint Template

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap11

4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문

Transcription:

자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민

OCJP 자격증소개 자바기술을직접개발한선마이크로시스템즈에서자바프로그래밍언어에관련된지식을표준화된방식으로검증해주는시험 2010 년이전까지는선마이크로시스템즈에서주관 선마이크로시스템즈 (Sun Microsystems) 사가오라클 (Oracle) 로인수가되면서자격증명칭도 SCJP 에서 OCJP 로변경되었음. 시험주관사도프로메트릭 (Prometric) 에서피어슨뷰 (PearsonVUE) 로변경돼앞으로는피어슨뷰시험센터에서시험을볼수있다. 국내시험센터는 www.vue.com 에서확인가능 OCJP 5.0 대비강좌 2

OCJP 자격증소개 OCJP 6.0 시험안내 과목수 : 1ZO - 853 와 1ZO - 851 문제수 : 50~60문항문제형태 : 객관식소요시간 : 150분합격기준 : 60% 이상정답맞추면합격시험비용 : 300달러 OCJP 5.0 대비강좌 3

OCJP 자격증소개 IZO-853 (Java SE 5 Programmer Certified Programmer Exam) 시험문항 : 60문제시험시간 : 180분시험합격기준 : 58% 시험출제 : 객관식시험시간 : 175분시험비용 : $300 IZO-851 (Java SE 6 Programmer Certified Programmer Exam) 시험문항 : 61문제시험시간 ; 145분시험합격기준 : 59% 시험출제 : 객관식시험시간 : 175분시험비용 : $300 OCJP 5.0 대비강좌 4

OCJP 자격증소개 OCJP 5.0 대비강좌 5

OCJP 자격증소개 SCJP 자격증은 J2SE (Java 2 Platform, Standard Edition) 기반의 Java Programming 언어에대한기본적인지식을기반으로 Java 의능률성을실행하는데관심이있는프로그래머들을위한자격증입니다. Java 기술을직접개발한썬마이크로시스템즈에서 Java Programming 언어에관련된지식을표준화된방식으로검증해주는시험이며, 또한 Java 기반의모든툴개발에필요한기초지식을인정받을수있는자격증입니다. 자바자격증의기본이되는자격증이며, 이후다른 JAVA 자격증을취득하기위해서우선취득해야하는자격증입니다. SCJP 외에도 SCWCD, SCBCD, SCJD, SCMAD, SCEA 자격증이있음 OCJP 5.0 대비강좌 6

시험접수방법 OCJP 5.0 대비강좌 7

시험접수방법 OCJP 5.0 대비강좌 8

시험접수방법 OCJP 5.0 대비강좌 9

시험접수방법 OCJP 5.0 대비강좌 10

시험접수방법 OCJP 5.0 대비강좌 11

시험접수방법 OCJP 5.0 대비강좌 12

시험접수방법 OCJP 5.0 대비강좌 13

시험접수방법 계정만들기 OCJP 5.0 대비강좌 14

시험접수방법 회원가입후 24 시간이내에 ID/PASSWORD 정보가이메일로수신됨 OCJP 5.0 대비강좌 15

시험접수방법 PEARSON VUE 사이트로그인 Schedule Exam 클릭 IZO-851(OCJP) 선택 시험볼언어선택 NEXT OCJP 5.0 대비강좌 16

시험접수방법 SEARCH 클릭시험볼지역선택 NEXT OCJP 5.0 대비강좌 17

시험접수방법 시험볼날짜선택 시간선택 Select Appointment 클릭 NEXT OCJP 5.0 대비강좌 18

시험접수방법 바우처 (voucher) 번호있으면번호입력 Apply Voucher 클릭 NEXT 바우처없으면 결제후접수완료 OCJP 5.0 대비강좌 19

시험응시방법 시험당일바우처와신분증을지참하시고시험장으로 go 시험장에따라다르지만, 시험시간 10 분전부터입실가능 시험장에도착하면감독관에게신분증을보인후온라인시험서버에연결할수있는아이디를받음 지정된 PC 앞에앉아서모니터를보면로그인하는화면이있음 자신의아이디로로그인하면, 우선자신의이름과함께환영한다는메시지가화면에출력되고 본시험에앞서시험프로그램의구조를알수있는연습시험이진행됨. OCJP 5.0 대비강좌 20

시험응시방법 예를들어, 지구다음에있는별이무엇인가?, 겨울밤에항상볼수있는별자리가무엇인가?, 태양계에서갈색의행성은무엇인가? 답이여러개인문제 ( 다중선택, Multi-Choice), 답이하나인문제 ( 단일선택, Single Chioce) 답을직접입력해야하는주관식문제 등을제시하고적절하게응답하는요령을알려줌물론, 이문제는맞히거나틀리거나본시험과는전혀관계없음 OCJP 5.0 대비강좌 21

시험응시방법 다중선택문제와단일선택문제구별방법 답을표시하는곳의모양으로구별가능함 다중선택문제는체크박스 ( ) 형태로여러개의답을체크 ( ) 할수있으며, 단일선택문제는옵션버튼 ( ) 형태로오직하나의답만선택 () 할수있음 연습시험문제를다풀고 End 버튼을누르면시험을마치고답안을제출하는것인데, 연습시험에대한결과가화면에표시됨. OCJP 5.0 대비강좌 22

시험응시방법 PEARSON VUE 센터는 OCJP 시험만진행하는것이아님 따라서, MCSE 나 MCSD 등다른자격증응시자들과함께진행하는경우가많음 MCSE 나 MCSD 시험은과목이여러개이고, 과목별로시험시간이짧음 따라서, 시험을 20~30 분만에마치고쏜살같이나가는사람들이있는데, 동요할필요없음. OCJP 5.0 대비강좌 23

시험응시방법 시험이종료되면약 30 초후에시험결과가모니터에나타남 합격인경우에는 Congratulation! 메시지와함께합격기준점수 (61%) 와자신의스코어가막대그래프로나타남, 프린터로출력하여감독관의확인도장을받아가져오면됨 OCJP 5.0 대비강좌 24

자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교최민

머리글 이장에서는자바의기본문법을설명합니다. 소스파일을구성하는방법부터클래스를선언하고, 이를이루는멤버변수와메소드를선언하고이용합니다. 이들을선언하고사용하는정해진규칙들을숙지하는것이이장의목적입니다. OCJP 시험에서도 10% 정도빠지지않고출제되고있으므로, 소홀히하지않도록합니다. 특히자바언어를처음공부하시는분들은반드시정확히이해하시길바랍니다. 26

출제기준 1. 소스파일구성순서를알아야합니다. 2. main 메소드의선언규칙을정확히알고, 메소드의인자와명령줄 (command line) 의인수간의대응관계를이해해야합니다. 3. 자바키워드를구분할줄알아야합니다. 4. 식별자선언규칙을알아야합니다. 5. 변수와배열의범위와명시적으로값을할당하지않았을때자동으로초기화되는값들을알아야합니다. 6. primitive 타입과 object 타입데이터형을구분할수있어야합니다. 27

문법설명 자바소스파일 1. package 선언문 2. import 문 3. 클래스본체 1. 패키지선언문 컴파일후생성되는클래스파일을원하는패키지에소속소스파일맨위에한번만올수있음패키지에소속시키고자하지않을때는생략가능 2. import 문 프로그램내에서사용할클래스를다른패키지에서가져옴 28

문법설명 일반적인 import 사용방법 import 패키지이름. 클래스이름 ; 한패키지에있는클래스전부를 import 할때 import 패키지이름.*; import 문은 package 문과클래스선언사이에위치 물론 package 선언이생략된경우에는맨위에위치 import 문은 package 와는달리여러개를사용할수있습니다. 29

문법설명 [NOTE] java.lang 패키지는자동으로 import import 문을사용하지않고다른패키지의클래스를사용 클래스를사용할때그클래스의패키지이름까지같이명시 java.util.vector public class VectorTest { public static void main(string args[]) { java.util.vector vector = new java.util.vector(); java.util.vector vector2 = vector; } } 30

문법설명 3. 클래스선언부 자바에서객체를만드는틀이되는클래스를정의하는부분 [public] class [extends...], [implements...] {} class 앞에는 public 제한자만가능 default 혹은 friendly public 이외의제한자는 class 앞에불가능또한 public 클래스는하나만가능, public 클래스이름은소스파일과일치 extends와 implements 31

기본예제 예제 1-1-1 Top-level 의순서 패키지선언문과 import 문을모두사용 package scjp; import java.lang.*; public class Hello { public static void main(string[] args) { System.out.println( Hello SCJP! ); } } 32

기본예제 ocjp 패키지에소속, java.lang 패키지의모든클래스를 import 하여사용가능 출력결과 Hello SCJP! 첫째줄과둘째줄의 ( 선언과 public 제한자 ) 는생략가능 33

기본예제 class Hello { public static void main(string[] args) { System.out.println( Hello SCJP! ); } } 첫째줄의패키지선언이생략되면소속패키지가없는클래스가되며, java.lang 패키지는자바가상기계가자동으로 import 하기때문에생략한것과코딩한것에아무런차이가없습니다. public 제한자를생략하면이클래스에대한접근권한이축소되는데제한자문제는 교재 3.2 메소드와변수의접근제어 " 부분을참고하시기바랍니다. 34

기본예제 [note] 패키지선언문존재시 생성된클래스가패키지이름과같은이름의디렉토리안에있지않을때 -> 컴파일가능하나예외발생. 컴파일시 -d 옵션부여시 패키지선언이있을때디렉토리자동생성, 컴파일결과생성된 *.class 파일을해당디렉토리에넣어줌 35

기본예제 1. 도스프롬프트에서컴파일할때 javac -d Hello.java 2. EditPlus 에서컴파일할때 [ 도구 - 사용자도구구성 ] 에서명령 (O) 텍스트필드에 (javac.exe 의경로 ) -d 예 ) C:\jdk1.3.1\bin\javac.exe -d 3. Eclipse 에서컴파일시 [Run-Run as Java Application] 36

예제 1-1-2 한소스파일에두개이상의클래스를선언해봅니다. 이때 public 클래스는한파일에하나밖에올수없다는것을확인합니다. public class Bank { public static void main(string[] args) { Account client = new Account(); client.printinfo(); } } class Account { void printinfo() { System.out.println(" 계좌정보 "); System.out.println(" 고객이름 ); } }; 37

예제 1-1-2 한소스파일에두개의클래스를선언하는것을보이기위한예제 파일이름인 Bank 와같은이름의클래스가 public 으로선언됨. 계좌정보고객이름 Bank 클래스를 default 로선언해도상관없으나 Account 클래스만 public 으로선언하거나두클래스모두 public 으로선언하면컴파일에러가발생함. 38

예제 1-1-2 Account 클래스를 public 으로선언했을때컴파일에러 Bank.java:8: class Account is public, should be declared in a file named Account.java public class Account { ^ 1 error Account 클래스가 public 으로선언되었기때문에파일이름이 Account.java 가되어야함 public 으로선언된 Account 클래스이름과같이파일이름을고치면? 컴파일시에는문제가없지만, 이번에는실행시에에러가발생 39

예제 1-1-2 java.lang.nosuchmethoderror: main Exception in thread "main" Normal Termination public 클래스에서메인메소드를찾을수없기때문실행을위한소스파일에서는 main 을포함한클래스만이 public 으로선언될수있음 default 여도되지만다른클래스가 public 이면안됨 40

문제 when the file name is Test.java, which two statements are illegal in //point x. (choose two) //point x class Var{ } a) package foo; b) import java.io.*; c) public class Test{... } d) public class Bar{... } e) public int I; 41

문법설명 선언 패키지, 클래스, 인터페이스, 메소드, 변수선언 패키지 클래스들을비슷한역할을하는것들끼리묶어서편의를제공하지위한것 package 패키지이름 ; 클래스를패키지화하려면 같은패키지의클래스파일들을같은디렉토리에모아야함. 42

문법설명 또한패키지의구조는계층적 여러개의패키지를모으면디렉토리구조상에많은클래스파일들이각패키지에해당하는서브디렉토리안에존재함 많은수의클래스파일을비슷한기능을하는것들끼리모아관리 같은패키지에있는것과그렇지않은것들사이의접근권한에차별을둠 접근권한에대한자세한설명은교재 3 장. declaration and access specifiers 을참조하세요. 43

문법설명 import 키워드뒤에는패키지이름. 클래스이름을주어해당하는클래스를사용할것을명시적으로선언 클래스이름에는 * 을사용할수있는데, 이렇게될경우해당패키지안에있는모든클래스를사용가능하도록선언 패키지의이름이계층구조를가지므로실제선언할때에는 import java.util.vector; 44

문법설명 클래스 멤버변수와메소드로구성되고, 메소드안에는메소드내부에서만사용되는지역변수 ( 자동변수 ) 가선언가능 // 클래스선언 [ 제한자 ] class 클래스이름 [extends 클래스이름 ] [implements 인터페이스이름,...] { // 멤버변수선언 [ 제한자 ] [ 변수형 ] 멤버변수이름 [= 초기값 ]; // 메소드선언 [ 제한자 ] [ 리턴형 ] 메소드이름 ( 파라미터선언 ) [throws 예외,...] { // 지역변수선언 [ 변수형 ] 지역변수이름 [= 초기값 ]; // 메소드의내용 } } 45

문법설명 class 선언에서제한자는 public 이오거나아무것도오지않게할수있습니다. public 으로선언한클래스는다른모든클래스들이액세스할수있습니다. 아무것도쓰지않는경우는 default( 혹은 friendly) 라고하며, 같은패키지내의클래스에서만액세스할수있음 특별한제한자로 abstract 와 final 같은제한자들이있는데, 자세한것은교재 3 장에서설명합니다. 46

문법설명 Extends 해당클래스를상속하게하는키워드 상속은교재 7 장과 8 장에서중점적으로언급함 자바는다중상속을지원하지않으므로, extends 뒤에는오직하나의클래스만사용할수있음 다음은 java.util.vector 클래스를상속하는방법 import java.util.vector; public class Vector2 extends Vector { // 클래스의내용부분 } 47

문법설명 Implements 인터페이스를구현하도록하는키워드인데, 여러개의인터페이스를한클래스에서구현할수있음 (implements 뒤에는여러개의인터페이스가올수있음 ) 멤버변수와메소드 필요한만큼얼마든지선언할수있음, 어느것을먼저선언해야한다는규칙은없음. 멤버변수와메소드를번갈아가면서선언해도컴파일에러는발생하지않음. 일반적으로는소스코드의가독성을높이기위해클래스의앞부분에필요한멤버변수를모두선언하고뒷부분에메소드들을선언 48

문법설명 멤버변수 클래스보다더욱다양한제한자를사용가능 교재 3 장에서설명함 또한멤버변수를선언할때에는초기값을줄수있는데, 주지않을경우는정해진값으로자동으로초기화됩니다. 클래스나메소드 성격이다른여러가지제한자를함께사용할경우제한자의순서는컴파일에러를유발하지않지만, 제한자와리턴형의순서는반드시지켜야함 제한자를먼저쓰고리턴형을마지막에써야합니다. 49

문법설명 지역변수는메소드가수행되는동안임시기억장소로이용되는변수 객체가활동하는시간동안상태가유지되는멤버변수와는달리, 지역변수는메소드가수행되는동안만잠시활성화되었다가메소드가끝나는즉시제거됨 따라서, 외부에서는메소드내의지역변수를액세스할수없습니다. 즉, 지역변수는제한자가없습니다. 인터페이스는 클래스처럼메소드와멤버변수를가지지만모든메소드가선언만되어있고구현은되어있지않은특별한형태 50

문법설명 [ 제한자 ] interface 인터페이스이름 [extends 인터페이스이름 ] { [ 제한자 ] [ 변수형 ] 멤버변수이름 [= 초기값 ]; [ 제한자 ] [ 리턴형 ] 메소드이름 ( 파라미터선언 ) [throws 예외,...]; // 메소드의내용을구현하지않음 } 인터페이스는그자체로어떤기능을제공하기위한객체가아닌, 객체들이서로통신하기위한인터페이스를제공 51

예제 1-2-1 클래스에서멤버변수와메소드를선언하고메인에서인스턴스를생성하고이용하는예제 모든객체는사용하기전에인스턴스화하는작업이필요 main 메소드에서자기자신 (BankAccount) 의인스턴스를만들어줌 public class BankAccount { String name = " 홍길동 "; int accountnumber = 123456; void printinfo() { System.out.println(name); System.out.println(accountNumber); } 52

예제 1-2-1 public class BankAccount { } public static void main(string[] args) { BankAccount client = new BankAccount(); client.printinfo(); } name 과 accountnumbe 는 BankAcount 의멤버변수입니다. printinfo() 메소드역시이클래스에소속되어있는멤버 new 키워드로생성한 client라는인스턴스를통해서접근가능 53

예제 1-2-1 홍길동 123456 메소드와멤버변수를선언하는방법에주의하도록하며 제한자는모두생략된 default 상태임 제한자에대해서는교재 "3 장. declaration and access specifier" 에서자세히설명되어있습니다. 54