자바 프로그래밍 기초
자바 프로그래밍 기초는 15 개의 장에서 가장 최신의 LTS 버전인 JDK 17 버전의 자바 언어가 제공하는 기능에 대해서 설명한다. 그리고 마지막 두 개의 장에서는 앞의 장에서 습득한 지식을 기반으로 실무에서 동일한 방식으로 주문 관리 시스템 예제 애플리케이션을 구현하는 프로젝트를 실습한다.
1장 자바 프로그래밍 시작에서는 자바 프로그래밍 언어를 개관하고 자바 언어로 프로그램을 개발하기 위한 통합 개발 환경을 설정하는 방법에 대해서 다룬다. 그리고 이들 개발 환경을 사용하여 첫 번째 자바 프로그램을 작성하고 자바 프로그램의 기본 구문을 살펴본다. 2장 데이터 타입에서는 자바 언어가 제공하는 상수값과 이들 값을 표현하는 데이터 타입에 대해 살펴보고, 변수를 정의하고 사용하는 방법과 같은 유형의 데이터를 배열로 정의하는 방법에 대해서도 살펴본다.
3장 연산자에서는 자바 언어가 제공하는 산술 연산자, 비교 연산자, 논리 연산자, 비트 연산자, 대입 연산자, 등 다섯 가지 유형의 연산자를 사용하는 방법을 학습한다. 4장 제어문에서는 명령문과 함께 특정한 조건에 따라 분기하는 조건문과 반복하여 명령문을 실행하는 반복문에 대해 살펴보고 에러가 발생하는 예외적인 상황에 대해 대처하는 방법에 대해 학습한다.
5장 클래스 I에서는 자바 언어의 기본이며 핵심이 클래스에 대해서 학습한다. 클래스와 관련된 자바 언어의 구문 뿐만 아니라 객체지향 개념에서 기본적이면서도 중요한 추상화와 캡슐화 개념에 대해 설명하고, 이들 개념이 자바 언어의 클래스로 어떻게 구현되는 지에 대해서도 살펴본다. 이와함께 자바 프로그래밍에서 가장 많이 사용되는 자바 언어가 제공하는 문자열 클래스, 그리고 숫자와 수학과 관련된 클래스들을 사용하는 방법에 대해서도 살펴본다.
6장 클래스 II에서는 메서드를 호출하는 방법과 인수를 전달하는 방법, 메서드 오버로딩, 가변 인수, final 예약어, 정적 멤버, 재귀적 메서드 호출, 메서드 체인 호출 등의 클래스와 관련된 고급 프로그래밍 개념들에 대해 학습한다. 이와함께 실무에서 많이 사용되는 자바 언어가 제공하는 날짜와 시간 클래스와 정규 표현식을 사용하는 방법에 대해서도 살펴본다.
7장 상속성에서는 객체지향의 계층성 개념과 함께 계층성을 구현하는 상속성의 구문에 대해서 학습한다. 그리고 인사 시스템을 시뮬레이션하는 클래스를 구현하면서 실제로 상속성이 사용되는 예를 살펴본다.
8장 추상 클래스와 인터페이스에서는 가상 메서드와 추상 클래스의 개념을 이해하고 추상 클래스와 인터페이스를 정의하고 구현하는 구문을 학습한다. 또한 맞춤법 검사기의 예를 통해 왜 인터페이스를 사용하는 것이 중요한 지를 살펴보게 된다.
9장 패키지와 모듈에서는 자바 언어의 패키지를 정의하는 구문에 대해 학습하고 JDK와 통합 개발 환경에서 JAR 파일을 생성하는 방법에 대해 실습한다. 또한 새롭게 자바 언어에 추가된 자바 모듈 시스템에 대해 살펴보고 모듈을 정의하는 방법에 대해서도 살펴본다.
10장 예외 처리와 디버깅에서는 에러가 발생하는 예외적인 상황에 대해 대처하는 방법에 대해 학습하고, 디버깅하는 방법에 대해서도 살펴본다.
11장 열거형과 어노테이션에서는 열거형과 어노테이션에 관한 구문을 학습하고, 특별히 어노테이션을 구현하는 고급 기능에 대해서도 살펴본다.
12장 제네릭에서는 매개변수의 데이터 타입에 기초하여 메서드와 클래스를 생성하는 현대 프로그래밍 언어의 중요한 메커니즘 중 하나인 제네릭에 대해 학습한다. 그리고 많은 개발자들이 어려워하는 공변성과 반공변성 개념에 대해서도 이해하기 쉽도록 설명한다.
13장 람다 표현식에서는 함수형 프로그래밍의 개념을 지원하기 위해 자바 언어에 도입된 람다 표현식과 함수형 인터페이스에 대해 학습한다. 그리고 초보자들이 이해하기 어려운 클로저 개념의 이해하기 쉽도록 설명하였으며, 그 이해를 돕기 위해 스트림에서 람다 표현식과 클로저가 사용되는 예를 설명한다.
14장 함수형 구문에서는 람다 표현식 외에 함수형 프로그래밍의 개념을 지원하기 위해 자바 언어에 도입된 Optional과 switch 표현식 instanceOf 패턴 매칭, 레코드 등의 개념과 사용법에 대해 학습한다.
15장 컬렉션 프레임워크에서는 자바 언어에서 제공하는 데이터의 모음인 컬렉션을 구현하고 사용하는 방법에 대해 학습한다. 그리고 스트림과 함께 컬렉션을 사용하는 방법에 대해서도 살펴본다.
그리고 앞에서도 언급한 바와 같이 16장과 17장에서는 실무에서 동일한 방식으로 주문 관리 시스템 예제 애플리케이션을 구현하는 프로젝트를 실습함으로써 앞의 장에서 습득한 지식을 실제로 적용하여 완성시킬 수 있도록 하였다.