롤플레잉 게임에서는 온라인과 오프라인을 막론하고 대부분 고유한 스킬 셋을 지닌 캐릭터를 플레이합니다. 게임이 진행되면서 캐릭터는 게임 세계를 돌아다니며 주민들과 소통하고 퀘스트를 통해 경험치를 모으죠. 마침내 캐릭터는 새로운 스킬을 얻고 새로운 숙련도로 스킬을 ‘레벨 업’하면서 더 빠르거나 강하거나 똑똑하거나 등 스스로 단련한 바로 그 캐릭터가 됩니다.
프로그래밍도 롤플레잉 게임과 비슷해 게임만큼 중독성이 있습니다. 실제이므로 캐릭터를 제어하는 것이 아니라 당신이 바로 그 게임의 주인공이죠. 디지털 세상을 돌아다니며 경험치를 모읍니다. 매우 다양한 언어 패러다임으로 미지의 프로그래밍 언어 세계를 발견하죠. 괄호를 새 줄에 넣을지 말지 등 가장 복잡한 스타일 측면에서 서로 다른 관점을 지닌 동료 프로그래머도 만납니다. 몰랐던 새로운 프레임워크나 언어 개념을 프로그래밍하고 배우고 이미 알았던 지식을 가다듬으며 스킬을 쌓습니다. 마침내 새로운 프로그래밍 숙련 레벨로 올라가죠.
2장은 1장에서 논했던 기초 내용을 뛰어 넘는 레벨 업입니다. 더 향상된 수많은 자바 언어 개념과 코드 스타일 측면을 함께 살펴보겠습니다.
매직 넘버를 다루는 법, 즉 매직 넘버를 상수, 더 훌륭하게는 enums로 대체하는 법을 배우고 새 줄로 코드를 그루핑하는 것이 합리적인 이유도 알아보겠습니다. 무엇보다 가능하면 자주 자바 API를 활용해야 하는 이유를 설명하고 그렇게 할 때 피해야 할 몇 가지 일반적인 위험을 알아보겠습니다. 원하지 않는 예외를 발생시키지 않고 성능 문제를 야기하지 않고 자료 구조를 가장 잘 순회하는 방법도 알아보겠습니다. 마지막으로 코드에서 문자열을 서식화하는 편리한 방법도 제공하겠습니다. 이제 다음 단계로 올라가 봅시다!