본문 바로가기

책을 보다

[리뷰] 읽기 전과 달라져 있는 <혼자 공부하는 자바>

 

책 한권으로 자바를 모두 알 수는 없지만 알아가는 시작이 될 수 있습니다. [혼자 공부하는 자바]는 자바를 알려주는 좋은 시작이자 훌륭한 안내자 역할을 합니다.

 

자바의 다양한 모습 가운데 알아야 할 내용을 중심으로 설명하고 있습니다. 어렵지 않은 표현으로 설명하고 있으며 많은 그림과 예제로 내용을 이해할 수 있게 돕습니다. 예제는 뒤로 갈수록 수준이 변해 갑니다. 고급편에 가면 실무에서 볼 수 있을 법한 예제를 순화시켜 보여줍니다. 그 말은 책 후반부에서 보았던 예제와 비슷한 코드를 실제 사용하는 코드에서 만날 가능성이 있다는 뜻입니다. 상세보기



주요 개념을 열거하자면,

메모리 사용 영역, 상속, 인터페이스, 중첩 클래스와 중첩 인터페이스, 익명 객체, 스레드, 컬렉션 프레임워크, 입출력 스트림 정도입니다. 6장 이후 내용들입니다.



참조 타입에 있는 JVM 의 메모리 사용 영역을 알아두면 자바를 이해하는데 많은 도움이 됩니다.

클래스를 정의할 때, 클래스 안에 static 메소드를 정의하면서 아직 정의도 끝나지 않는 자신(클래스)의 인스턴스를 만든다는게 말이 안되는 것처럼 보입니다. 그런데 메모리 사용 영역을 알면, 코드를 컴파일한 뒤 JVM 이 클래스를 인식하고 메모리 영역의 어디에 무엇을 할당하는지 그려지며 감이 잡히기 시작합니다.

 

상속에서 타입 변환과 다형성을 알려줍니다. 여기에 추상 클래스와 인터페이스가 더해져 다형성이 빛을 발합니다.

중첩 클래스와 중첩 인터페이스로 다형성을 확장할 수 있습니다. 그리고 익명 객체가 다형성에 날개를 달아 줍니다. 필요한 곳에 바로 사용할 수 있으니까요.

 

기본 API 클래스에서 java.lang 패키지는 알아두면 피가 되고 살이 됩니다. java.lang 패키지에서 알려주는 내용을 실무에서 의외로 많이 만나게 될 것입니다.

 

스레드를 쉽게 설명하고 있습니다. 만들고 실행하는 방법과 공유 객체를 사용할 때 생길 수 있는 문제에 대응하는 방식을 알려줍니다.

어떤 상태가 있고, 언제 상태가 바뀌며, 이런 상태를 어떻게 제어하는지 보여줍니다.

스레드로 프로그래밍을 하지 않아도 스레드를 어떻게 다루는지 여기서 설명한 내용 정도 알고 있다면 다른 코드를 읽는데 많은 도움이 될 거라 생각합니다.

 

컬렉션 프레임워크와 입출력 스트림은 프로그램을 만드는 이유라고도 볼 수 있습니다.

'데이터를 모아서 보여주고, 필요하면 읽어오거나 저장한다.'

 

다형성이 편안해지고 당연해집니다.

 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

반응형