목차
목차
1장. 껍질을 깨고 자바는 어떤 식으로 돌아갈까? 자바 코드의 구조 클래스를 해부합시다 main() 메소드 순환문 조건에 따른 분기문 ‘맥주 99병’ 애플리케이션 코드 자동 구문 생성기 집중 토론: 컴파일러와 자바 가상 머신 연습문제와 퍼즐 2장. 객체 마을로의 여행 의자 전쟁(객체지향맨 브래드와 프로시저맨 래리) 상속(기초) 메소드를 오버라이드하는 방법(기초) 클래스 안에는 뭐가 있을까?(메소드, 인스턴스 변수) 첫번째 객체를 만들어봅시다 main()을 사용하는 방법 게임 코드 알아 맞추기 연습문제와 퍼즐 3장. 네 변수를 알라 변수 선언(자바에서는 유형을 까다롭게 따집니다) 원시 변수 유형 자바 키워드 레퍼런스 변수(객체에 대한 리모컨) 객체 선언과 대입 가비지 컬렉션 기능이 있는 힙에서의 객체 배열 연습문제와 퍼즐 4장. 객체의 행동 메소드와 객체의 상태 메소드 인자와 리턴 유형 값으로 전달 게터와 세터 캡슐화 배열에서 레퍼런스를 사용하는 방법 연습문제와 퍼즐 5장. 메소드를 더 강력하게 닷컴 가라앉히기 게임 만들기 간단한 닷컴 게임 준비 코드를 만들어봅시다(게임을 만들기 위한 유사코드) 간단한 닷컴 게임을 만들기 위한 테스트 코드 간단한 닷컴 게임 코드 작성 간단한 닷컴 게임 최종 코드 Math.random()으로 난수를 만들어내는 방법 명령행에서 사용자가 입력한 내용을 받아오기 위한 인스턴트 코드 for 순환문을 써서 순환시키는 방법 원시값을 더 큰 변수에서 작은 변수로 캐스팅하는 방법 Integer.parseInt()를 가지고 String을 int로 변환하는 방법 연습문제와 퍼즐 6장. 자바 라이브러리 간단한 닷컴 게임 버그 분석 ArrayList(자바 API를 활용하는 방법) 닷컴 클래스 코드 고치기 진짜 게임 만들기(닷컴 가라앉히기) 진짜 게임을 만들기 위한 준비 코드 진짜 게임을 만들기 위한 코드 부울 표현식 라이브러리(자바 API) 활용 패키지 사용 방법(import 선언문, 전체 이름) HTML API 문서와 레퍼런스 서적을 활용하는 방법 연습문제와 퍼즐 7장. 객체마을에서의 더 나은 삶 상속의 이해(수퍼클래스와 하위클래스 사이의 관계) 상속 트리 설계(Animal 시뮬레이션) 중복된 코드를 피하는 방법(상속 활용 방법) 메소드 오버라이딩 "A는 B다" 관계와 "A에는 B가 있다" 관계(욕조 안의 아가씨) 수퍼클래스로부터 상속받는 것 상속 활용의 장점 다형성(하위클래스 객체에 대해 수퍼유형 레퍼런스를 사용하는 방법) 오버라이딩 규칙(인자와 리턴 유형은 건드리지 맙시다) 메소드 오버로딩(메소드명을 재활용하는 것뿐입니다) 연습문제와 퍼즐 8장. 심각한 다형성 인스턴스를 만들 수 없는 클래스 추상 클래스(인스턴스를 만들 수 없습니다) 추상 메소드(반드시 구현해야 합니다) 다형성을 실제로 활용하는 방법 Object 클래스(모든 클래스의 수퍼클래스) ArrayList에서 객체를 꺼내는 방법(기본적으로 모두 Object 유형입니다) 컴파일러에서 레퍼런스 유형을 체크하는 방법 내부 객체 다형적 레퍼런스 객체 레퍼런스 캐스팅(상속 트리에서 아래로 내려가는 방법) 죽음의 다이아몬드(다중 상속에서 생길 수 있는 문제) 인터페이스 사용 방법 연습문제와 퍼즐 9장. 객체의 삶과 죽음 스택과 힙, 객체와 변수가 살아가는 곳 스택에 들어있는 메소드 지역 변수가 있는 위치 인스턴스 변수가 있는 위치 객체 생성 생성자(new를 실행하면 실행되는 코드) 새로운 Duck 객체의 상태를 초기화하는 방법 오버로드된 생성자 수퍼클래스 생성자 this()를 써서 오버로드된 생성자를 호출하는 방법 객체의 삶 가비지 컬렉션 연습문제와 퍼즐 10장. 숫자는 정말 중요합니다 Math 클래스 정적 메소드 정적 변수 상수(static final 변수) Math 메소드(random(), round(), abs() 등) 래퍼 클래스(Integer, Boolean, Character 등) 오토박싱 숫자 포매팅 날짜 포매팅 및 조작 import static 구문 연습문제와 퍼즐 11장. 위험한 행동 음악 프로그램 만들기(비트박스) 위험한 코드를 호출해야 한다면 어떻게 해야 할까요? 예외를 통해 “뭔가 안 좋은 일이 생겼음”을 알 수 있습니다 컴파일러에서 위험 요소를 파악하고 있는지 확인해줍니다 try/catch를 써서 예외를 잡아내는 방법 try/catch 블록에서의 흐름 제어 finally 블록 여러 가지 예외를 잡아내는 방법 예외 선언 처리 또는 선언 규칙 코드 키친(소리를 만드는 방법) 연습문제와 퍼즐 12장. 그래픽 이야기 첫번째 GUI 사용자