Lesson 1 시작하기
이 장에서는 Java 언어를 사용하여 프로그램을 작성하는 방법을 학습합니다. Java 언어의 학습을 시작한 지 얼마 되지 않았다면 생소한 프로그래밍 단어에 고생할지도 모릅니다. 그러나 이 장에 서 다루는 키워드를 이해하게 되면, Java 언어의 이해도 편해질 것입니다. 하나씩 차근차근 나의 것으로 만들어 봅시다.
Lesson 2 Java의 기본
1장에서는 Java 코드를 입력한 후, 컴파일러와 인터프리터를 사용하여 프로그램을 실행하는 방법을 배웠습니다. 그럼 앞으로 우리는 어떤 코드를 입력하면 좋을까요? 코드를 작성하여 프로그램을 만들기 위해선 Java 문법 규칙을 알아야 합니다. 이 장에서는 기본적인 Java 문법을 배워 보도록 하겠습니다.
Lesson 3 변수
2장에서는 문자나 숫자를 화면에 출력하는 방법을 배웠습니다. 문자나 숫자는 프로그래밍을 시작한 지 얼마 되지 않은 분들에게도 그다지 위화감 없는 주제였으리라 생각합니다. 이 장에서는 드디어 프로그래밍 언어로서의 Java 기능을 배우게 됩니다. 먼저, 가장 기본적인 ‘변수’에 대해 살펴봅시다.
Lesson 4 식과 연산자
컴퓨터는 다양한 일을 할 수 있습니다. 이때 필요한 기능이 ‘연산’입니다. Java 프로그램을 만들 때에도 연산은 빼 놓을 수 없는 기능 중 하나입니다. Java에서는 간단하게 연산을 수행할 수 있도록 ‘연산자’라는 기능을 제공합니다. 이 장에서는 다양한 연산자의 사용 방법을 배웁니다.
Lesson 5 경우에 따른 처리
4장까지는 한 문장씩 처리하는 코드를 다뤘습니다. 그러나 더 복잡한 처리를 하고 싶은 경우, 순차적으로 문장을 처리하는 것만으로는 부족할 수 있습니다. Java에는 여러 문장을 모아서 코드의 흐름을 제어하는 방법이 있습니다. 이 장에서는 특정 상황에 맞추어 코드의 흐름을 제어하는 문장을 배웁니다.
Lesson 6 여러 번 반복하기
5장에서는 특정 상황에 맞추어 코드의 흐름을 제어하는 문장을 배웠습니다. Java에는 그 외에도 문장을 컨트롤하는 기능이 포함되어 있습니다. 이 기능을 ‘반복문(루프문)’이라고 합니다. 반복문을 사용하면 동일한 작업을 여러 번 반복할 수 있습니다. 이 장에서는 반복문에 대해 배웁니다.
Lesson 7 배열
3장에서는 변수를 사용하여 특정 값을 저장하는 방법에 대해 배웠습니다. Java에는 이 외에도 동일한 형의 여러 값을 함께 저장하는 ‘배열’이라는 기능이 있습니다. 배열을 사용하면 많은 데이터를 처리하는 복잡한 코드를 깔끔하게 작성할 수 있습니다. 이 장에서는 배열의 원리에 대해 배워 보겠습니다.
Lesson 8 클래스의 기본
지금까지 변수, 배열 등 Java의 다양한 기능에 대해 배워 보았습니다. 이러한 기능들은 예로부터 다양한 프로그래밍 언어에서 지원하고 있었습니다. 그러나 프로그램이 복잡해짐에 따라, 보다 효율적으로 프로그램을 작성하는 방법이 필요해졌습니다. 그러한 필요에 따라 새롭게 등장한 기능이 ‘클래스’입니다. 이 장에서는 클래스의 기본을 배웁니다.
Lesson 9 클래스의 기능
8장에서는 클래스의 기본에 대해 학습했습니다. 그러나 클래스의 강력한 기능은 이뿐만이 아닙니다. 견고한 프로그램을 만들기 위하여 클래스에는 다양한 기능이 준비되어 있습니다. 이 장에서는 객체 지향에 바탕을 둔 클래스의 강력한 기능에 대해 알아보겠습니다.
Lesson 10 클래스의 이용
지금까지는 클래스와 그 강력한 기능을 확인하였습니다. 이 장에서는 클래스를 실제로 활용하는 방법을 학습하겠습니다. 클래스를 활용하면 실용적인 프로그램을 만들 수 있습니다. 이 장에서는 다양하게 변화하는 프로그램을 만들어 봅니다.
Lesson 11 새로운 클래스
8장부터 10장에 걸쳐 클래스의 다양한 기능을 학습했습니다. Java는 이미 설계된 클래스를 활용하여 새로운 클래스를 효율적으로 만들 수 있도록 지원합니다. 기존의 클래스를 이용하여 프로그램을 효율적으로 만들 수 있다는 것은 Java의 큰 장점입니다. 이 장에서는 새로운 클래스를 만드는 방법을 배워 보겠습니다.
Lesson 12 인터페이스
이 장에서는 특수한 클래스에 대해 배워 보겠습니다. 이 장에서 배운 지식을 활용하면 수많은 클래스를 활용한 일관된 프로그래밍이 가능해집니다. 이 장에서는 ‘추상 클래스’와 ‘인터페이스’라는 새로운 지식을 배웁니다.
Lesson 13 대규모 프로그램의 작성
지금까지 우리는 소규모 프로그램을 여러 개 만들었습니다. 그러나 프로그램의 규모가 커지면 커질수록 코드에서는 더 많은 클래스를 다루어야 할 것입니다. 이 장에서는 대규모 프로그램의 개발에 필요한 지식을 배웁니다.
Lesson 14 예외와 입출력 처리
프로그램 실행 시에는 다양한 오류가 발생할 수 있습니다. Java는 프로그램 실행 중에 발생하는 오류에 대응하기 위한 ‘예외 처리’ 메커니즘을 제공합니다. 이 장에서는 이 예외 처리에 대해 배웁니다. 또한, 데이터의 읽기 및 쓰기를 위한 ‘입출력 처리’에 대해서도 학습해 보겠습니다.
Lesson 15 스레드
지금까지 작성한 프로그램은 그 수행 과정을 하나의 흐름으로 보고 추적할 수 있었습니다. Java는 이러한 처리 흐름을 코드에서 여러 개 만들 수 있도록 지원합니다. 이 장에서는 처리의 흐름인 스레드를 여러 개 운영하는 방법을 배워 보겠습니다.
Lesson 16 그래픽 애플리케이션
Java의 응용 분야는 다양합니다. Java를 사용하면 그래픽 윈도 애플리케이션과 스마트폰 애플리케이션을 만들 수 있습니다. 또한, Web 서버에서 실행되는 프로그램을 개발할 수도 있습니다. 이 장에서는 Java를 응용하는 방법을 소개하도록 하겠습니다.