2 주 객체와 클래스에 익숙해지기

79
자자자자자자자 자자자자자 2 자 자자자 자자자자 자자자자자 자 2 자 자자 자자 자자자 자자자 자자자자 자자 자자자 자자자 자자 자자자자 자자자자 자자 API 자자자 자자 자자 자자자자 자자 자자 자 1

description

2 주 객체와 클래스에 익숙해지기. 제 2 주 목표 약간 복잡한 클래스 살펴보기 다른 사람이 작성해 놓은 클래스를 이용하는 연습 API 문서를 찾아 보고 이용하는 법을 알게 됨. BlueJ. 자바 프로그램 개발 도구 (eclipse 처럼 ...) 주로 교육용으로 사용됨 클래스와 객체를 그림으로 표현 대화형으로 객체를 조작할 수 있다. BlueJ. Shapes. 실습과제 1 TicketMachine. BlueJ. 실습과제 2. 자바 표준 라이브러리 클래스. - PowerPoint PPT Presentation

Transcript of 2 주 객체와 클래스에 익숙해지기

Page 1: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

2 주 객체와 클래스에 익숙해지기

제 2 주 목표• 약간 복잡한 클래스 살펴보기• 다른 사람이 작성해 놓은 클래스를 이용하는 연습• API 문서를 찾아 보고 이용하는 법을 알게 됨

1

Page 2: 2 주 객체와 클래스에 익숙해지기

BlueJ

• 자바 프로그램 개발 도구 (eclipse 처럼 ...)• 주로 교육용으로 사용됨• 클래스와 객체를 그림으로 표현• 대화형으로 객체를 조작할 수 있다 .

자바프로그래밍 강원대학교 2

Page 3: 2 주 객체와 클래스에 익숙해지기

BlueJ

• Shapes

자바프로그래밍 강원대학교 3

Page 4: 2 주 객체와 클래스에 익숙해지기

• 실습과제 1– TicketMachine

자바프로그래밍 강원대학교 4

Page 5: 2 주 객체와 클래스에 익숙해지기

BlueJ

• 실습과제 2

자바프로그래밍 강원대학교 5

Page 6: 2 주 객체와 클래스에 익숙해지기

자바 표준 라이브러리 클래스

자바프로그래밍 강원대학교 6

Page 7: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

라이브러리와 API Document

• API: Application Programming Interface • 라이브러리에 들어 있는 클래스이 지원하는 메소드와 메소드

사용법을 보여줌• 아래 사이트에서 온라인으로 볼 수 있으며

http://docs.oracle.com/javase/7/docs/api/

내 컴퓨터에 저장해 놓고 볼 수 도 있음

7

Page 8: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

The API Document

8

Page 9: 2 주 객체와 클래스에 익숙해지기

강원대학교

라이브러리에 들어 있는 클래스 이용하기

• 클래스들은 그룹으로 분류되어 있으며 이 그룹을 패키지라고 함– Rectangle 클래스는 java.awt 패키지에 들어

있음– Rectangle 클래스의 full name = ja-

va.awt.Rectangle• 클래스를 import 하면 프로그램을 작성할 때 클래스의

full name(java.awt.Rectangle) 대신 Rectan-gle 이라고만 적을 수 있음

import java.awt.Rectangle;

자바프로그래밍 9

Page 10: 2 주 객체와 클래스에 익숙해지기

강원대학교

java.lang 패키지

• java.lang 패키지에는 가장 기본적이며 많이 사용되는 클래스들이 들어 있음

• java.lang 패키지에 들어 있는 클래스들은 import 하지 않고도 짧은 이름을 사용할 수 있음

• String 클래스와 System 클래스는 java.lang 패키지에 들어 있음

자바프로그래밍 10

Page 11: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

Rectangle Objects 라이브러리 클래스 활용 예

class Rectangle

• 클래스는 그에 속하는 각 객체의 상태를 나타내는 데이터와 수행 가능한 메소드들을 정의한다 .

• 이 중 데이터 부분을 필드 (field) 혹은 상태변수라고 부른다 .

Page 12: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

Rectangle Objects 라이브러리 클래스 활용 예

x

y

(0, 0)

사각형의 위치(30, 20)

30

20int heightint widthint xint y height

width

(x, y)

Rectangle 의 field

Page 13: 2 주 객체와 클래스에 익숙해지기

구성자 (constructor)

강원대학교자바프로그래밍 13

Page 14: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

객체를 만드는 (construct) 법

1. new 는 연산자 (operator) 로서 Rectangle 클래스의 객체를 하나 구성하여 반환한다 .

2. 새로이 구성되는 Rectangle 객체는 주어진 인자에 맞춰 만들어진다 . 위치가 (5, 10) 이고 폭이 20, 높이가 30

3. 새로이 만들어진 객체는 Rectangle 타입 변수인 box 에 저장된다 .

Rectangle box = new Rectangle(5, 10, 20, 30);

14

Page 15: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

구성자 다중정의 (overloading)

위치가 (0, 0) 이고 폭이 0, 높이가 0

Rectangle box = new Rectangle();

15

위치가 (0, 0) 이고 폭이 10, 높이가 20

Rectangle box = new Rectangle(10, 20);

Page 16: 2 주 객체와 클래스에 익숙해지기

메소드

강원대학교자바프로그래밍 16

Page 17: 2 주 객체와 클래스에 익숙해지기

Mutator methods

객체의 상태 ( 필드 ) 를 변화시키는 메소드

public void insertMoney(int amount) {

balance += amount;}

자바프로그래밍 강원대학교 17

Page 18: 2 주 객체와 클래스에 익숙해지기

Accessor methods

객체의 상태를 변화시키지 않는 메소드

public int getPrice(){

return price;}

자바프로그래밍 강원대학교 18

Page 19: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

File MoveTester.java 01: import java.awt.Rectangle; 02: 03: public class MoveTester04: {05: public static void main(String[] args)06: {07: Rectangle box = new Rectangle(5, 10, 20, 30);08: 09: // Move the rectangle10: box.translate(15, 25);11: 12: // Print information about the moved rectangle13: System.out.println("After moving, the top-left corner is:"); 14: System.out.println(box.getX()); 15: System.out.println(box.getY()); 16: }17: }

19

Page 20: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

File MoveTester.java

07: Rectangle box = new Rectangle(5, 10, 20, 30);08: 09: // Move the rectangle10: box.translate(15, 25);11: 12: // Print information about the moved rectangle13: System.out.println("After moving, the top-left corner is:"); 14: System.out.println(box.getX()); 15: System.out.println(box.getY());

After moving, the top-left corner is:20.035.0

20

Page 21: 2 주 객체와 클래스에 익숙해지기

java.awt.Rectangle

• Mutator? Or Accessor? 무엇을 리턴하는가 ?– grow– union

• BlueJ

• 실습과제 3

자바프로그래밍 강원대학교 21

Page 22: 2 주 객체와 클래스에 익숙해지기

java.util.Random

int nextInt(int n):0 보다 크거나 같고 n 보다 작은 정수 값을 반환

double nextDouble():0.0 보다 크거나 같고 1.0 보다 작은 double 형 값을 반환

자바프로그래밍 강원대학교 22

Page 23: 2 주 객체와 클래스에 익숙해지기

java.util.Random

Random random = new Random();

int die = random.nextInt(6) + 1;

자바프로그래밍 강원대학교 23

Page 24: 2 주 객체와 클래스에 익숙해지기

java.util.Random

• 항상 같은 순서의 “임의의” 수가 생성되도록 하는 방법

– Random(...) 에 long 타입 “시드 (seed)” 를 준다 .

– Random rand = new Random(12345678);

//123456768 는 시드

자바프로그래밍 강원대학교 24

Page 25: 2 주 객체와 클래스에 익숙해지기

• 실습과제 4

자바프로그래밍 강원대학교 25

Page 26: 2 주 객체와 클래스에 익숙해지기

객체간 상호작용

Object Interaction

자바프로그래밍 강원대학교 26

Page 27: 2 주 객체와 클래스에 익숙해지기

clock example

자바프로그래밍 강원대학교 27

15:06

Page 28: 2 주 객체와 클래스에 익숙해지기

• 복잡도에 따라– 하나의 클래스로 구현– 작은 클래스로 분해

자바프로그래밍 강원대학교 28

15:06

Page 29: 2 주 객체와 클래스에 익숙해지기

모듈화와 추상화modularization and abstraction

자바프로그래밍 강원대학교 29

Page 30: 2 주 객체와 클래스에 익숙해지기

모듈화와 추상화modularization and abstraction

자바프로그래밍 강원대학교 30

Page 31: 2 주 객체와 클래스에 익숙해지기

모듈화와 추상화modularization and abstraction

자바프로그래밍 강원대학교 31

15:06

clock clock

rollover counter

Page 32: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교 32

15:06

clock clock

rollover counter

public class RolloverCounter {

private int limit;private int value;

// 구성자와 메소드 생략}

public class Clock {

private RolloverCounter hours;private RolloverCounter minutes;

// 구성자와 메소드 생략}

Page 33: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교 33

:Clock

hoursminutes

:Rollover-Counter

15

:Rollover-Counter

06

Clock

Rollover-Counter

Object diagram

Class diagram

referencing

using

Page 34: 2 주 객체와 클래스에 익숙해지기

Clockpublic class Clock {

private RolloverCounter hours;private RolloverCounter minutes;

public Clock()public Clock(int hour, int minute)public void timeTick()public void setTime(int hour, int minute)public String getTime()

}

자바프로그래밍 강원대학교 34

Page 35: 2 주 객체와 클래스에 익숙해지기

RolloverCounterpublic class RolloverCounter {

private int limit;private int value;

public RolloverCounter(int rollOverLimit)public int getValue()public String getTwoDigitString()public void setValue(int replacementValue)public void increment()

}

자바프로그래밍 강원대학교 35

Page 36: 2 주 객체와 클래스에 익숙해지기

• 실습과제 5, 6, 7

자바프로그래밍 강원대학교 36

Page 37: 2 주 객체와 클래스에 익숙해지기

java.util.Scanner

Scanner in = new Scanner(System.in);

String st = in.next(); // 한 단어String line = in.nextLine(); // 현재 줄의 끝까지int i = in.nextInt(); // 정수 하나

자바프로그래밍 강원대학교 37

Page 38: 2 주 객체와 클래스에 익숙해지기

java.util.Scanner

next() nextLine()

nextInt() nextShort() nextLong() nextDouble() nextFloat() nextBoolean()

자바프로그래밍 강원대학교 38

Page 39: 2 주 객체와 클래스에 익숙해지기

nextLine() 메소드• Scanner 를 현재 위치에서 다음 줄의 첫머리로 이동시키고 , 그

사이에 있는 모든 문자들로 구성된 String 객체를 ( 가리키는 참조를 ) 반환한다 .

• 행 분리 기호 (new line) 제외 , 공백문자 (space) 포함 

자바프로그래밍 강원대학교 39

Page 40: 2 주 객체와 클래스에 익숙해지기

nextLine() 메소드

String message = input.nextLine();int num = input.nextInt() ;

< 입력 >Hello 8

< 실행 결과 >message 는 “ Hello” 를 가리킴num 은 8 

.

자바프로그래밍 강원대학교 40

Page 41: 2 주 객체와 클래스에 익숙해지기

nextLine() 메소드

int num = input.nextInt() ;String message = input.nextLine();

< 입력 >8Hello

< 실행 결과 >num 은 8 

message 는 "" ( 빈 문자열 ) 을 가리킴.

자바프로그래밍 강원대학교 41

Page 42: 2 주 객체와 클래스에 익숙해지기

nextLine() 메소드

• 문장들을 한 행씩 읽기 위해 nextLine() 을 사용할 때는 보통 문제가 없다 .

• next(), nextInt(), nextDouble() 과 같은 다른 Scan-ner 호출과 nextLine() 을 혼합하여 사용할 때는 주의해야 한다 .

자바프로그래밍 강원대학교 42

Page 43: 2 주 객체와 클래스에 익숙해지기

Strings

자바프로그래밍 강원대학교 43

Page 44: 2 주 객체와 클래스에 익숙해지기

Strings are objects

String 은 기본 (primitive) 데이터 타입이 아니다 .Sting 은 객체이므로 여러 가지 메소드를 갖는다 .

String lang = new String("Java");System.out.println(lang.isEmpty());System.out.println(lang.length());

자바프로그래밍 강원대학교

false4

44

Page 45: 2 주 객체와 클래스에 익숙해지기

String Literal

String literal  - "Java", "123", ""

"java" 라는 내용을 갖는 String 객체를 만든다는 점에서 아래 두 문장이 같은 효과를 갖는다 .

String lang = "Java"; String lang = new String("Java");

자바프로그래밍 강원대학교 45

Page 46: 2 주 객체와 클래스에 익숙해지기

String - Immutable• 자바 String 객체는 변경할 수 없다 . 읽기 전용 (read-only)

이다 . • No mutator method• No exposed field

• String s = "E.T."; s = s.toLowerCase();

새 객체가 만들어진다 .

s"E.T"

s"E.T"

"e.t"

자바프로그래밍 강원대학교 46

Page 47: 2 주 객체와 클래스에 익숙해지기

String concatenation

String s = " 꽃이 " + " 되었다 .";

새 객체가 만들어진다 .

" 꽃이 "

" 되었다 ."

s" 꽃이 되었

다 ."

자바프로그래밍 강원대학교 47

Page 48: 2 주 객체와 클래스에 익숙해지기

StringBuiler - Mutable• StringBuiler 객체는 변할 수 있다 .  

• String s = "E.T."; s.setCharAt(0, 'e'); s.setCharAt(2, 't');

기존 객체의 내용이 변한다 .

s"E.T" "e.t"

s

자바프로그래밍 강원대학교 48

Page 49: 2 주 객체와 클래스에 익숙해지기

String concatenation

StringBuilder sb = " 꽃이 ";sb.add(" 되었다 .");

기존 객체가 변한다 .

" 꽃이 "sb

" 꽃이 되었다 ."

sb

" 되었다 ."

자바프로그래밍 강원대학교 49

Page 50: 2 주 객체와 클래스에 익숙해지기

StringBuilder 클래스StringBuilder 객체를 생성하기 위해서는 new 연산자를 사용한다 : 

StringBuilder s = new StringBuilder(); // 초기 용량은 16 개 문자StringBuilder s = new StringBuilder(50); // 초기 용량은 50 개의 문자StringBuilder s = new StringBuilder (“Hello”); // s 를 “ Hello” 로 초기화

StringBuilder 객체의 용량은 프로그램이 실행될 때 필요한 만큼 자동적으로 확장된다 .

자바프로그래밍 강원대학교 50

Page 51: 2 주 객체와 클래스에 익숙해지기

따옴표를 포함하는 문자열

System.out.print(" 그가 " 사랑해요 " 라고 말했다 .");

System.out.print(" 그가 \" 사랑해요 \" 라고 말했다 .");

자바프로그래밍 강원대학교

O

X

51

Page 52: 2 주 객체와 클래스에 익숙해지기

Multiline strings

System.out.print(" 그대가 \n" + " 곁에 있어도 \n" + " 나는 그대가 그립다 .");

그대가 곁에 있어도나는 그대가 그립다 .

자바프로그래밍 강원대학교 52

Page 53: 2 주 객체와 클래스에 익숙해지기

String 메소드

자바프로그래밍 강원대학교 53

Page 54: 2 주 객체와 클래스에 익숙해지기

char[] crs = {'K', 'a', 'n', 'g', 'W', 'o', 'n' };String s = new String(crs);

System.out.println(s.charAt(0));System.out.println(s.charAt(s.length()-1));

System.out.println(s.indexOf('n'));System.out.println(s.lastIndexOf('n'));

System.out.println(s.contains("K"));System.out.println(s.contains("f"));

char[] elements = s.toCharArray();for (char el : elements) System.out.println(el);

자바프로그래밍 강원대학교

Kn26truefalseKangwon

54

Page 55: 2 주 객체와 클래스에 익숙해지기

StringBuilder sb = new StringBuilder(" 강원대학교 ");

sb.deleteCharAt(sb.length()-1);

sb.append(' 교 ');

sb.insert(0, ' 우 ');sb.insert(1, ' 리 ');sb.insert(2, ' ');

sb 를 출력하면 ?

자바프로그래밍 강원대학교 55

Page 56: 2 주 객체와 클래스에 익숙해지기

Comparing stringsString a = "Kangwon"; String b = "kangwon";

System.out.println(a.equals(b));

자바프로그래밍 강원대학교

"Kangwon"

네가 b 와내용이 같니 ?

a

"Kangwon"

b

56

Page 57: 2 주 객체와 클래스에 익숙해지기

Comparing stringsString a = "Kangwon"; String b = "KANGWON";

System.out.println(a.equals(b));System.out.println(a.equalsIgnoreCase(b)); // 대소문자 무시

String c = input.nextLine();System.out.println("Kangwon".equals(c)); // 입력된 단어가 일치하나 ?

// 아래 문장 – 같은 기능이지만 주의가 필요함 !// c 가 null 일 때는 실행시간 오류 (NullPointerException) 발생 !System.out.println(c.equals("Kangwon"));

자바프로그래밍 강원대학교 57

Page 58: 2 주 객체와 클래스에 익숙해지기

Test for reference equalityString a = new String("Kangwon"); String b = new String("Kangwon");

System.out.println(a == b);

자바프로그래밍 강원대학교

"Kangwon"

a 와 b 가 같은 객체를 가리키나 ?

false

a

"Kangwon"

b

58

Page 59: 2 주 객체와 클래스에 익숙해지기

Interning string literals• 코드에 등장하는 모든 String literal 들은 프로그램이

실행되기 전에 추려서 정리 (intern) 된다 .

• 같은 리터럴이 두 개 있으면 하나만 저장된다 .

• String 타입 참조 (reference) 들은 이 리터럴을 가리킨다 .

자바프로그래밍 강원대학교 59

String a = " 가만히 "; String b = " 가만히 ";String c = " 있어라 ";

" 가만히 "" 있어라 "

a

b

c

Page 60: 2 주 객체와 클래스에 익숙해지기

Interningboolean a = "Kangwon" == "Kangwon";boolean b = "Kangwon" == new String("Kangwon"); // 실행 시 새로 만들어짐boolean c = "Kangwon" == "Kang" + "won"; // 실행 전에 연결되고 in-tern 됨boolean d = "Kangwon" == new String("Kangwon").intern(); // 강제로 인턴boolean e = "Kangwon" == " Kangwon ".trim(); // 실행 시 새로 만들어짐

System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);System.out.println(e);

자바프로그래밍 강원대학교

truefalsetruetruefalse

60

이쪽의 내용은 지엽적이고 세부적인 내용으로서 참고 자료임 : 시험이 나오지 않음 ☺

Page 61: 2 주 객체와 클래스에 익숙해지기

String 메소드

자바프로그래밍 강원대학교 61

Page 62: 2 주 객체와 클래스에 익숙해지기

String 메소드

char charAt(int index)

인덱스 i 에 있는 문자를 반환한다 . 문자열의 인덱스는 0 부터 시작된다 .

< 예 >String s = “Titanic”;System.out.print(s.charAt(3)); --> a

자바프로그래밍 강원대학교 62

Page 63: 2 주 객체와 클래스에 익숙해지기

String 메소드 int compareTo(String t)

s.compareTo(t)문자의 ASCII 값을 사용하여 두 개의 문자열을 한 문자씩 차례로 비교한다 .

s < t 음수를 반환 s == t 0 을 반환 s > t 양수를 반환

String s = “Shrek”;String t = “Star Wars”;s.compareTo(t) 음수를 반환s.compareTo(s) 0 을 반환

자바프로그래밍 강원대학교 63

Page 64: 2 주 객체와 클래스에 익숙해지기

String 메소드 int compareTolgnoreCase(String t)

compareTo(...) 와 비슷하지만 대소문자를 구분하지 않는다 .

String s = “E.T.”;String t = “e.t.”;

s.compareToIgnorecase(t) --> 0

자바프로그래밍 강원대학교 64

Page 65: 2 주 객체와 클래스에 익숙해지기

String 메소드boolean endsWith(String suffix)boolean startsWith(String prefix)

s.endsWith(t) s 가 t 로 끝나면 참을 반환

s.endsWith(t) s 가 t 로 시작하면 참을 반환

String s = “Forrest Gump”;s.endsWith(“ump”) --> true

자바프로그래밍 강원대학교 65

Page 66: 2 주 객체와 클래스에 익숙해지기

String 메소드int indexOf(String t)

s.indexOf(t)s 에서 t 가 처음 나타나는 지점의 인덱스를 반환만약 s 에 t 가 들어 있지 않다면 -1 을 반환

String s = "The Lord Of The Rings";s.indexOf("The") returns 0;s.indexOf("Bilbo") returns –1.

자바프로그래밍 강원대학교 66

Page 67: 2 주 객체와 클래스에 익숙해지기

String 메소드int indexOf(String t, int from)

s.indexOf(t, from)s 에 t 가 들어 있는지 찾되 from 위치 이후에서만 찾는다 . t 가 처음 나타나는 지점의 인덱스를 반환없으면 -1 을 반환

String s = "The Lord Of The Rings";s.indexOf("The", 6) --> 12

자바프로그래밍 강원대학교 67

Page 68: 2 주 객체와 클래스에 익숙해지기

String 메소드int length( )

s.length()s 에 있는 문자들의 수를 반환한다 .

String s = “Jaws”;s.length() --> 4

자바프로그래밍 강원대학교 68

Page 69: 2 주 객체와 클래스에 익숙해지기

String 메소드String replace( char oldChar, char newChar)

s.replace(oldCh, newCh)s 에 들어 있는 모든 oldCh 를 newCh 로 바꾸어 얻어진 새 문자열을 반환

String s = “Harry Potter”;s.replace (‘r’,’m’) --> “Hammy Pottem”

자바프로그래밍 강원대학교 69

Page 70: 2 주 객체와 클래스에 익숙해지기

String 메소드String substring(int index)

s.substring(index)index 이후의 내용으로 새 문자열을 만들어 반환한다 .

String s = “The Sixth Sense”;s.substring(7) --> “th Sense”

자바프로그래밍 강원대학교 70

Page 71: 2 주 객체와 클래스에 익숙해지기

String 메소드String substring(int start, int end)

s.substring(start, end)start 부터 end 직전까지의 내용으로 새 문자열을 만들어 반환(inclusive) (exclusive)

String s = “TheSixthSense”;s.substring(1, 3) --> “he”

자바프로그래밍 강원대학교 71

Page 72: 2 주 객체와 클래스에 익숙해지기

String 메소드String toLowerCase()String toUpperCase()

s.toLowerCase()모든 대문자를 소문자로 바꾼 새 문자열을 만들어 반환s.upperCase()모든 소문자를 대문자로 바꾼 새 문자열을 만들어 반환

String s = “The Lion King”;s.toLowerCase() --> “the lion king”

자바프로그래밍 강원대학교 72

Page 73: 2 주 객체와 클래스에 익숙해지기

String 메소드String trim()

s.trim()문자열의 앞과 뒤에 있는 공백을 제거한 문자열을 새로 만들어 반환한다 .

String s = “ Attack of the Killer Tomatoes “;s.trim() --> “Attack of the Killer Tomatoes”

자바프로그래밍 강원대학교 73

Page 74: 2 주 객체와 클래스에 익숙해지기

• 실습과제 8, 9

자바프로그래밍 강원대학교 74

Page 75: 2 주 객체와 클래스에 익숙해지기

프로그래밍 스타일

자바프로그래밍 강원대학교 75

Page 76: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

프로그래밍 스타일클래스 이름은 명사 , 대문자로 시작

Dog, System

변수 이름은 소문자로 시작name, age

상수는 모두 대문자로MAX_NUMBER, RED_COLOR

메소드 이름은 동사 , 소문자로 시작int getAge(){ return 25;}

int luckyNumber = 13;double pi = 3.14195;String greeting = "Hello, World!";PrintStream printer = System.out;

76

Page 77: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

프로그래밍 스타일

코드 블럭while (!done) { doSomething(); done = moreToDo();}

클래스 , 메소드class Man{ int age; int height;}

int add(int a, int b){ return a+b;}

들여쓰기 (indentation) 반드시 할 것

77

Page 78: 2 주 객체와 클래스에 익숙해지기

자바프로그래밍 강원대학교

식별자 (Identifiers)

• 식별자 : 변수 , 메소드 , 클래스 등의 이름• 식별자 규정

– Letters, 숫자 , underscore (_) 로 구성– 숫자로 시작할 수 없다 . – 식별자 내부 공백 불가– 예약어 사용 불가– 대소문자 구분

(O) love_Him, love4ever(X) 4love, love Him, for, love?him, love!

78

Page 79: 2 주 객체와 클래스에 익숙해지기

끝 .

자바프로그래밍 강원대학교 79