구)홈페이지 오탈자 보기
IT CookBook, 자바 프로그래밍 입문: 객체지향적 사고법

 

페이지오탈자 내용등록일
76

(p76 6번째 줄)

메소드 내부에 변수 정의 외의 코드가 들어갈 수 없다 .
==>
메소드 외부에는  변수 정의 이외의 실행 코드가 들어갈 수 없다.

2006-10-251
92

((p.92) 소스와 결과)

[소스]
22     System.out.println("z + =y, z = "+z);
...
26     System.out.println("z /=x, z = "+z);

[결과] 9행 11행
z+=y, z=0
z/=x, z=0
==>
[소스]
22     System.out.println("z - =y, z = "+z);
...
26     System.out.println("z /=y, z = "+z);

[결과]
z-=y, z=0
z/=y, z=0

2006-10-251
125

((p 125) 첫째줄)

do while 문의
==>
for 문의

2006-10-251
130

((p.130) 요약 6번의 표에서)

변수--      후순위 증가  
--변수      선순위 증가
==>
변수--      후순위 감소  
--변수      선순위 감소

2006-10-251
148

(p148)

코드가 다음과 같이 수정되어야 함.
==>
43행과 44행 사이에 person++;이 추가되어야 함
48행 visitors--;가 person--;으로 수정되어야 함

2006-10-251
151

(p151 [예제 5-10])

[예제 5-10] 코드와 결과
==>
9행과 10행 사이에 다음 코드가 추가되어야 함.

 ma.quit(p1);        
  System.out.println("현재입장객:" + ma.getPerson() + "명, 수입:" + ma.getIncome() + "원");

결과는 다음과 같이 수정되어야 함.

관람객1 = (9,500)
현재입장객:1명, 수입:0원
현재입장객:2명, 수입:5000원
현재입장객:1명, 수입:5000원

2006-10-251
153

(p153 5번째 줄)

속성을 선언하는 것은 클래스 내부와 메소드 밖에 존재한다(속성은 클래스 내부와 메소드에서만 선언한다). 클래스 내부의 상단 또는 하단 어느 위치에 있어도 그 결과는 동일하다.
==>
속성의 선언은 클래스 내부의 메소드 밖에서만 가능하다. 즉, 속성은 클래스 안이고 메소드 밖에 존재한다. 이것이 만족되면, 클래스 내부의 상단 또는 하단 어드 위치에 있어도 그 결과는 동일하다.

2006-10-251
153

(p153 5번째 줄)

속성을 선언하는 것은 클래스 내부와 메소드 밖에 존재한다(속성은 클래스 내부와 메소드에서만 선언한다). 클래스 내부의 상단 또는 하단 어느 위치에 있어도 그 결과는 동일하다.
==>
속성의 선언은 클래스 내부의 메소드 밖에서만 가능하다. 즉, 속성은 클래스 안이고 메소드 밖에 존재한다. 이것이 만족되면, 클래스 내부의 상단 또는 하단 어느 위치에 있어도 그 결과는 동일하다.

2006-10-251
163

(p163 아래에서 4번째 줄)

위의 예제에서 Object1은 다른 디렉토리에 있고, Obejct2와 Object3는 같은 디렉토리에 있다면 같은 디렉토리인 있는 경우에는 protected나 private로 정의되지 않는 경우엔 모두 접근이 가능하다. 반면에, 다른 디렉토리인 경우에는 protected와 public으로 정의된 경우에만 접근이 가능하다.
==>
위의 예제에서 Object1은 다른 디렉토리에 있고, Obejct 2 와 Object3는 같은 디렉토리에 있다 . 같은 디렉토리에 있는 경우는 private로 정의된 것만 아니면 모두 접근할 수 있다.  반면, 다른 디렉토리에 있는 경우는 public으로 정의된 경우만 접근할 수 있다.

2006-10-251
163

(p163 아래에서 4번째 줄)

위의 예제에서 Object1은 다른 디렉토리에 있고, Obejct2와 Object3는 같은 디렉토리에 있다면 같은 디렉토리인 있는 경우에는 protected나 private로 정의되지 않는 경우엔 모두 접근이 가능하다. 반면에, 다른 디렉토리인 경우에는 protected와 public으로 정의된 경우에만 접근이 가능하다.
==>
위의 예제에서 Object1은 다른 디렉토리에 있고, Obejct2와 Object3는 같은 디렉토리에 있다 . 같은 디렉토리에 있는 경우는 private로 정의된 것만 아니면 모두 접근할 수 있다. 반면, 다른 디렉토리에 있는 경우는 public으로 정의된 경우만 접근할 수 있다.

2006-10-251
177

(p177 [예제 5-21] 7행)

Person p3 = new Person(18, 10000); // 18살 성인 관람객 제시금액 1만원
==>
Person p4 = new Person(18, 10000); // 18살 성인 관람객 제시금액 1만원

2006-10-251
179

(p179 결과)

결과
생성자가 호출되었습니다.
완료
finalize()가 호출되었습니다.

위의 예제는 단순히 재정의한 finalize() 메소드가 언제 호출되는지를 확인하는 것이다. finalize() 메소드는 항상 객체가 소멸될 때 호출된다. finalize() 메소드는 참조 개수가 0이 될 때 호출된다.
==>
생성자가 호출되었습니다.
finalize()가 호출되었습니다.
완료
 
위의 예제는 단순히 재정의한 finalize() 메소드가 언제 호출되는지를 확인하는 것이다. finalize() 메소드는 항상 객체가 소멸될 때, 즉, 참조 개수가 0이될 때 호출된다.

2006-10-251
193

(p193 하단 설명)

위의 예제는 문자열 str1에 "example"을 저장하고, + 연산자를 이용해서 정수 10을 문자열로 바꾼 뒤 다시 ex06_02 객체를 + 연산자를 통해서 문자열로 바꾸는 예제다. 이때, ex06_02 객체는 toString() 메소드를 새롭게 정의하였기 때문에 자연스럽게 "EX06_02" 문자열로 변환된어 최종적으로 "example10 EX06_02" 문자열이 출력된다.
==>
위의 예제는 문자열과 관련된 다양한 메소드를 사용하는 예제다. 특히, 문자열에 대한 비교는 ==이 아니라 .equals() 메소드를 사용한다는 것을 꼭 알아두어야 한다. 문자열에 대한 다양한 활용법은 자바 프로그래밍에 있어서 매우 중요하므로 예제를 수정해가면서 그 결과를 확인하는 것이 좋다.

2006-10-251
194

(p194 [예제 6-3] 코드와 내용)

public class EX06_03 {

    public String toString()
     {
        return "EX06_02";
     }
    public static void main(String[] args) {
        EX06_02 ex06_02 = new EX06_02();
        String str1 = "example";
        String str2 = str1 + 10 + " " + ex06_02;
        System.out.println(str2);
    }
}
==>
public class EX06_03 {

    public String toString()
    {
        return "EX06_03";
    }
    public static void main(String[] args) {
        EX06_03 ex06_03 = new EX06_03();
        String str1 = "example";
        String str2 = str1 + 10 + " " + ex06_03;
       System.out.println(str2);
    }
}

위 예제는 문자열 str1에 "example"을 저장하고, + 연산자를 이용해서 정수 10을 문자열로 바꾼 뒤 다시 ex06_03 객체를 + 연산자를 통해서 문자열로 바꾸는 예제다. 이때, ex06_03 객체는 toString() 메소드를 새롭게 정의하였기 때문에 자연스럽게 "EX06_03" 문자열로 변환된어 최종적으로 "example10 EX06_03" 문자열이 출력된다.

2006-10-251
196

((p 196) 5, 6행)

String reverse()   문자열 버퍼에서 역순서로 이루어진 문자열 객체를 만들어 리턴한다.

StringBuffer strbuf1 = new StringBuffer("프로그래밍");
String strbuf1 = strbuf1.reverse(); //밍래그로프
==>
StringBuffer reverse()   문자열 버퍼에서 역순서로 이루어진 문자열 버퍼 객체를 만들어 리턴한다.

StringBuffer strbuf1 = new StringBuffer("프로그래밍");
StringBuffer strbuf2 = strbuf1.reverse(); //밍래그로프

2006-10-251
226

(P.226 [예제7-15] 아래)

이 상황에서 EX07_06, EX07_07 클래스 컴파일을 완료하고 EX07_06 애플리케이션을 실행하면 다음과 같은 결과를 얻을 수 있다.
==>
이 상황에서 EX07_06, EX07_07 클래스 컴파일을 완료하고 EX07_07 애플리케이션을 실행하면 다음과 같은 결과를 얻을 수 있다.

2006-10-251
553

(부록 CD 수록 예제 폴더 위치 변경)

부록 CD 수록 예제 폴더 위치 변경
==>
부록CD본문속예제chapter08srcName.java 파일을
부록CD본문속예제chapter06src 폴더로 복사해주십시오.

2006-10-251