책 소개
이 책의 구성
Lesson 01. 시작하기
이 장에서는 Java 언어를 사용하여 프로그램을 작성하는 방법을 학습합니다. Java 언어의 학습을 시작한지 얼마 안된 무렵은 생소한 프로그래밍 단어에 고생할지도 모릅니다. 그러나 이 장에서 다루는 키워드를 이해하게 되면, Java 언어의 이해도 편해질 것입니다. 하나씩 차근차근 나의 것으로 만들어보도록 합시다.
Lesson 02. Java의 기본
제 1장에서는 Java 코드를 입력한 후, 컴파일러와 인터프리터를 사용하여 프로그램을 실행시키는 방법을 배웠습니다. 그럼 앞으로 우리는 어떤 코드를 입력하면 좋을까요? 코드를 작성하여 프로그램을 만들기 위해선 Java 문법 규칙을 알아야 합니다. 이 장에서는 기본적인 Java 문법을 배워보도록 하겠습니다.
Lesson 03. 변수
제 2장에서는 문자나 숫자를 화면에 출력하는 방법을 배웠습니다. 문자나 숫자는 프로그래밍을 시작한지 얼마 되지 않은 분들에게도 그다지 위화감 없는 주제였으리라 생각합니다. 이 장에서는 드디어 프로그래밍 언어로서의 Java의 기능을 배우게 됩니다. 먼저, 가장 기본적인 ‘변수’에 대해 살펴봅시다.
Lesson 04. 식과 연산자
컴퓨터는 다양한 일을 할 수 있습니다. 이 때 필요한 기능이 ‘연산’입니다. Java 프로그램을 만들 때에도 연산은 빼 놓을 수 없는 기능 중 하나입니다. Java에서는 간단하게 연산을 수행할 수 있도록‘연산자’라는 기능을 제공합니다. 이 장에서는 다양한 연산자의 사용 방법을 배웁니다.
Lesson 05. 경우에 따른 처리
지금까지 작성했던 코드에서 각 문장들은 한 번에 하나씩 처리되고 있었습니다. 그러나 더 복잡한 처리를 하고 싶은 경우, 순차적으로 문장을 처리하는 것만으로는 부족할 수 있습니다. Java에는 여러 문장을 모아서 코드의 흐름을 제어하는 방법이 있습니다. 이 장에서는 특정 상황에 맞추어 코드의 흐름을 제어하는 문장을 배웁니다.
Lesson 06. 여러 번 반복하기
제 5장에서는 특정 상황에 맞추어 코드의 흐름을 제어하는 문장을 배웠습니다. Java에는 그 외에도 문장을 컨트롤하는 기능이 포함되어 있습니다. 이 기능은 ‘반복문(루프문)’이라고 합니다. 반복문을 사용하면 동일한 작업을 여러 번 반복할 수 있습니다. 이 장에서는 반복문에 대해 배웁니다.
Lesson 07. 배열
제 3장에서는 변수를 사용하여 특정 값을 저장하는 방법에 대해 배웠습니다. Java에는 이 외에도 동일한 형의 여러 값을 함께 저장하는‘배열’이라는 기능이 있습니다. 배열을 사용하면 많은 데이터를 처리하는 복잡한 코드를 깔끔하게 작성할 수 있습니다. 이 장에서는 배열의 원리에 대해 배워 보겠습니다.
Lesson 08. 클래스의 기본
지금까지 변수·배열 등 다양한 Java의 기능에 대해 배워 보았습니다. 이러한 기능들은 예로부터 다양한 프로그래밍 언어가 지원하고 있었습니다. 그러나 프로그램이 복잡해짐에 따라, 보다 효율적으로 프로그램을 작성하는 방법이 필요하게 되었습니다. 그러한 필요에 따라 새롭게 등장한 기능이 ‘클래스’입니다. 이 장에서는 클래스의 기본을 배웁니다.
Lesson 09. 클래스의 기능
제 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를 응용하는 방법을 하나하나 소개하도록 하겠습니다.
Lesson 01. 시작하기
이 장에서는 Java 언어를 사용하여 프로그램을 작성하는 방법을 학습합니다. Java 언어의 학습을 시작한지 얼마 안된 무렵은 생소한 프로그래밍 단어에 고생할지도 모릅니다. 그러나 이 장에서 다루는 키워드를 이해하게 되면, Java 언어의 이해도 편해질 것입니다. 하나씩 차근차근 나의 것으로 만들어보도록 합시다.
Lesson 02. Java의 기본
제 1장에서는 Java 코드를 입력한 후, 컴파일러와 인터프리터를 사용하여 프로그램을 실행시키는 방법을 배웠습니다. 그럼 앞으로 우리는 어떤 코드를 입력하면 좋을까요? 코드를 작성하여 프로그램을 만들기 위해선 Java 문법 규칙을 알아야 합니다. 이 장에서는 기본적인 Java 문법을 배워보도록 하겠습니다.
Lesson 03. 변수
제 2장에서는 문자나 숫자를 화면에 출력하는 방법을 배웠습니다. 문자나 숫자는 프로그래밍을 시작한지 얼마 되지 않은 분들에게도 그다지 위화감 없는 주제였으리라 생각합니다. 이 장에서는 드디어 프로그래밍 언어로서의 Java의 기능을 배우게 됩니다. 먼저, 가장 기본적인 ‘변수’에 대해 살펴봅시다.
Lesson 04. 식과 연산자
컴퓨터는 다양한 일을 할 수 있습니다. 이 때 필요한 기능이 ‘연산’입니다. Java 프로그램을 만들 때에도 연산은 빼 놓을 수 없는 기능 중 하나입니다. Java에서는 간단하게 연산을 수행할 수 있도록‘연산자’라는 기능을 제공합니다. 이 장에서는 다양한 연산자의 사용 방법을 배웁니다.
Lesson 05. 경우에 따른 처리
지금까지 작성했던 코드에서 각 문장들은 한 번에 하나씩 처리되고 있었습니다. 그러나 더 복잡한 처리를 하고 싶은 경우, 순차적으로 문장을 처리하는 것만으로는 부족할 수 있습니다. Java에는 여러 문장을 모아서 코드의 흐름을 제어하는 방법이 있습니다. 이 장에서는 특정 상황에 맞추어 코드의 흐름을 제어하는 문장을 배웁니다.
Lesson 06. 여러 번 반복하기
제 5장에서는 특정 상황에 맞추어 코드의 흐름을 제어하는 문장을 배웠습니다. Java에는 그 외에도 문장을 컨트롤하는 기능이 포함되어 있습니다. 이 기능은 ‘반복문(루프문)’이라고 합니다. 반복문을 사용하면 동일한 작업을 여러 번 반복할 수 있습니다. 이 장에서는 반복문에 대해 배웁니다.
Lesson 07. 배열
제 3장에서는 변수를 사용하여 특정 값을 저장하는 방법에 대해 배웠습니다. Java에는 이 외에도 동일한 형의 여러 값을 함께 저장하는‘배열’이라는 기능이 있습니다. 배열을 사용하면 많은 데이터를 처리하는 복잡한 코드를 깔끔하게 작성할 수 있습니다. 이 장에서는 배열의 원리에 대해 배워 보겠습니다.
Lesson 08. 클래스의 기본
지금까지 변수·배열 등 다양한 Java의 기능에 대해 배워 보았습니다. 이러한 기능들은 예로부터 다양한 프로그래밍 언어가 지원하고 있었습니다. 그러나 프로그램이 복잡해짐에 따라, 보다 효율적으로 프로그램을 작성하는 방법이 필요하게 되었습니다. 그러한 필요에 따라 새롭게 등장한 기능이 ‘클래스’입니다. 이 장에서는 클래스의 기본을 배웁니다.
Lesson 09. 클래스의 기능
제 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를 응용하는 방법을 하나하나 소개하도록 하겠습니다.
작가 소개
저 : Mana Takahashi
1971년 일본 도쿄에서 출생했으며 도쿄 대학 경제학부를 졸업하였다. 대표 저서인 〈그림으로 배우는 C 프로그래밍〉, 〈그림으로 배우는 C++ 프로그래밍〉을 비롯해 여러 권의 프로그래밍 도서를 집필하였다.
역 : 서재원
프리랜서 웹 개발자와 번역가로 활동 중. 최근에는 클라우드 기술의 활용에 관심이 많다. 번역서로는 ‘그림으로 배우는 알고리즘’, ‘그림으로 배우는 자바’, ‘그림으로 배우는 C++’, ‘그림으로 배우는 클라우드’ 등이 있다
목 차
Lesson 1. 시작하기
1.1 Java로 만드는 프로그램
프로그램의 원리
프로그래밍 언어 Java
1.2 코드 입력
JDK를 인스톨하기
코드의 원리 이해하기
텍스트 에디터에 코드 입력하기
1.3 프로그램의 작성
컴파일의 원리 이해하기
컴파일러 실행하기
1.4 프로그램의 실행
프로그램 실행하기
Java 프로그램을 다른 환경에서 사용하기
1.5 강의 요약
연습 문제
Lesson 2. Java의 기본
2.1 화면으로 출력하기
새로운 코드 입력하기
화면에 출력하기
여러 가지 출력 방법 이해하기
2.2 코드의 내용
코드의 흐름 따라가 보기
main( ) 메소드
1문장씩 처리하기
코드를 읽기 쉽게 만들기
주석 작성하기
주석을 입력하는 또 다른 방법
클래스 둘러보기
2.3 문자와 숫자
리터럴이란
문자 리터럴
이스케이프 시퀀스
문자 코드
문자열 리터럴
숫자 리터럴
2.4 강의 요약
연습 문제
Lesson 3. 변수
3.1 변수
변수의 원리를 이해하기
3.2 식별자
변수의 ‘이름’이 되는 식별자
3.3 형
형의 원리 이해하기
3.4 변수 선언
변수 선언하기
3.5 변수의 이용
변수에 값 대입하기
변수의 값 출력하기
변수 초기화하기
변수의 값 바꾸기
다른 변수에 값 대입하기
변수에 값을 대입할 때의 주의점
변수의 선언 위치에 주의
3.6 키보드 입력
키보드로 입력하기
숫자 입력하기
2개 이상의 숫자 입력하기
3.7 강의 요약
연습 문제
Lesson 4. 식과 연산자
4.1 식과 연산자
식의 원리 이해하기
식의 값 출력하기
다양한 연산하기
키보드로 입력한 값을 더하기
4.2 연산자의 종류
다양한 연산자
문자열 연결 연산자
증가·감소 연산자
증가·감소 연산자의 전위와 후위
대입 연산자
시프트 연산자
4.3 연산자 우선 순위
연산자 우선 순위란
같은 우선 순위의 연산자 사용하기
연산자 우선 순위 조사하기
4.4 형 변환
큰 사이즈의 형에 대입하기
작은 사이즈의 형에 대입하기
다른 형끼리 연산하기
같은 형끼리 연산하기
4.5 강의 요약
연습 문제
Lesson 5. 경우에 따른 처리
5.1 관계 연산자와 조건식
조건의 원리 이해하기
조건을 작성하기
관계 연산자 사용하기
5.2 if 문
if 문의 원리 이해하기
if 문으로 여러 개의 문장 실행시키기
블록으로 감싸지 않으면 어떻게 되나요
5.3 if~else 문
if~else 문의 원리 이해하기
5.4 여러 조건을 판단하기
if ~else if ~else 문의 원리 이해하기
5.5 switch 문
switch 문의 원리 이해하기
break 문이 빠져 있다면?
입력 문자로 분기하기
5.6 논리 연산자
논리 연산자의 원리 이해하기
복잡한 조건 판단하기
조건 연산자의 원리 이해하기
5.7 강의 요약
연습 문제
Lesson 6. 여러 번 반복하기
6.1 for 문
for 문의 원리를 이해하기
변수를 반복문 내에서 사용하기
for 문 응용하기
6.2 while 문
while 문의 원리 이해하기
6.3 do~while 문
do~while 문의 원리 이해하기
6.4 문장의 중첩
for 문 중첩하기
if 문 등과 조합하기
6.5 프로세스 흐름의 변경
break 문의 원리를 이해하기
switch 문 안에서 break 문 사용하기
continue 문의 원리 이해하기
6.6 강의 요약
연습 문제
Lesson 7. 배열
7.1 배열
배열의 원리 이해하기
7.2 배열의 준비
배열 준비하기
배열에 값을 대입하기
7.3 배열의 이용
반복문을 배열에 사용하기
배열 첨자 사용 시 주의점
키보드로 배열 길이를 입력하기
7.4 배열을 선언하는 방법
배열을 선언하는 또 다른 방법 이해하기
배열을 초기화하기
7.5 배열 변수
배열 변수에 값을 대입하기
배열 변수에 값을 대입한다는 것
7.6 배열의 응용
배열의 길이를 알기
배열의 내용을 정렬하기
7.7 다차원 배열
다차원 배열의 원리 이해하기
다차원 배열을 선언하는 방법
7.8 강의 요약
연습 문제
Lesson 8. 클래스의 기본
8.1 클래스 선언
클래스란
Java에는 클래스가 필수적이다
클래스의 원리 이해하기
클래스 선언하기
8.2 객체 생성
클래스를 사용한다는 것은
객체를 생성하기
멤버에 접근하기
8.3 클래스 사용
클래스를 사용하는 프로그램
2개 이상의 객체 생성하기
2개의 클래스 파일이 생성된다
클래스를 사용하는 순서 정리
8.4 메소드의 기본
메소드 정의하기
메소드 호출하기
필드에 접근하는 방법
메소드에 접근하는 방법
8.5 메소드의 인수
인수를 사용하여 정보 전달하기
인수를 전달하여 메소드 호출하기
다른 값을 전달해서 호출하기
변수 값을 전달해서 호출하기
둘 이상의 인수를 가지는 메소드 정의하기
인수가 없는 메소드를 사용하기
8.6 메소드의 리턴 값
리턴 값의 원리 이해하기
리턴 값이 없는 메소드를 사용하기
8.7 강의 요약
연습 문제
Lesson 9. 클래스의 기능
9.1 멤버에 대한 접근 제한
멤버에 대한 접근 제한하기
private 멤버 만들기
public 멤버 만들기
캡슐화의 원리 이해하기
9.2 메소드의 오버로딩
오버로딩의 원리를 이해하기
오버로딩 사용 시 주의점
9.3 생성자의 기본
생성자의 원리 이해하기
생성자의 역할을 이해하기
9.4 생성자 오버로딩
생성자를 오버로딩하기
다른 생성자를 호출하기
생성자를 생략하면 어떻게 되나요?
생성자에 접근 제한자를 붙이기
9.5 클래스 변수, 클래스 메소드
인스턴스 변수의 원리 이해하기
클래스 변수와 클래스 메소드
클래스 메소드 사용시 주의점
9.6 강의 요약
연습 문제
Lesson 10. 클래스 이용
10.1 클래스 라이브러리
클래스 라이브러리의 원리 이해하기
지금까지 사용한 클래스 이해하기
10.2 문자열 처리 클래스
문자열 처리 클래스
문자열의 길이를 알아내고 문자열에서 문자를 추출하기
문자열 객체를 생성할 때의 주의점
대문자와 소문자를 변환하기
문자 검색하기
문자열 추가하기
10.3 기타 클래스
Integer 클래스 사용하기
Math 클래스 사용하기
10.4 클래스 형 변수
클래스 형 변수에 대입하기
null의 원리를 이해하기
메소드의 인수로서 사용하기
값의 전달과 참조의 전달
10.5 객체 배열
객체 배열 다루기
10.6 강의 요약
연습 문제
Lesson 11. 새로운 클래스
11.1 상속
상속의 원리 이해하기
클래스 확장하기
서브 클래스의 객체 생성하기
슈퍼 클래스의 생성자 호출하기
슈퍼 클래스의 생성자 지정하기
11.2 멤버에 접근하기
서브 클래스 안에서 접근하기
11.3 오버라이딩
메소드를 오버라이딩하기
슈퍼 클래스의 변수로 객체 다루기
오버라이딩의 중요성 이해하기
슈퍼 클래스와 같은 이름을 가지는 멤버 사용하기
final 붙이기
11.4 Object 클래스의 상속
클래스의 계층 구조 만들기
Object 클래스의 원리 이해하기
toString( ) 메소드 정의하기
equals( ) 메소드 사용하기
getClass( ) 메소드 사용하기
11.5 강의 요약
연습 문제
Lesson 12. 인터페이스
12.1 추상 클래스
추상 클래스의 원리 이해하기
추상 클래스 사용하기
instanceof 연산자
12.2 인터페이스
인터페이스의 원리 이해하기
인터페이스 구현하기
12.3 클래스 계층
다중 상속의 원리 이해하기
2개 이상의 인터페이스 구현하기
인터페이스 확장하기
클래스의 계층 구조 설계하기
12.4 강의 요약
연습 문제
Lesson 13. 대규모 프로그램의 작성
13.1 파일 분할
파일 분할하기
13.2 패키지의 기본
패키지의 원리를 이해하기
같은 패키지 안의 클래스 사용하기
13.3 패키지의 사용
같은 패키지에 포함시키기
다른 패키지로 나누기
다른 패키지 안의 클래스 사용하기
패키지 이름으로 클래스를 구분하기
13.4 임포트
임포트의 원리 이해하기
서브 패키지 만들기
클래스 라이브러리의 패키지
여러 클래스를 임포트하기
13.5 강의 요약
연습 문제
Lesson 14. 예외와 입출력 처리
14.1 예외의 기본
예외의 원리 이해하기
예외를 처리하기
finally 블록 추가하기
14.2 예외와 클래스
예외와 클래스의 원리 이해하기
예외 정보 출력하기
예외의 종류를 파악하기
14.3 예외 던지기
예외 클래스 선언하기
예외 던지기
예외를 받아내지 않으면 어떻게 되나요?
14.4 입출력의 기본
스트림의 원리 이해하기
스트림의 예를 이해하기
파일의 원리 이해하기
파일에 출력하기
파일로 입력하기
많은 양의 데이터를 입력하기
명령 줄 인수 사용하기
14.5 강의 요약
연습 문제
Lesson 15. 스레드
15.1 스레드의 기본
스레드의 원리 이해하기
스레드 기동시키기
여러 개의 스레드 기동시키기
15.2 스레드의 상태 변화시키기
스레드를 일시 정지시키기
스레드 종료를 기다리기
15.3 스레드의 생성방법
스레드를 생성하는 또 다른 방법을 이해하기
15.4 동기화
동기화의 원리 이해하기
15.5 강의 요약
연습 문제
Lesson 16. 그래픽 어플리케이션
16.1 GUI 어플리케이션
GUI의 구조 이해하기
컴퍼넌트의 구조 이해하기
색상과 글꼴 설정하기
이벤트의 구조 이해하기
고도의 이벤트 처리하기
이벤트 처리를 간결하게 작성하기
16.2 어플리케이션의 응용
이미지 표시하기
마우스로 그리기
애니메이션 만들기
16.3 Java의 응용
스마트폰 어플리케이션 개발하기
Web 어플리케이션 개발하기
16.4 강의 요약
연습문제
Appendix A. 연습문제 해답
Appendix B. FAQ
1.1 Java로 만드는 프로그램
프로그램의 원리
프로그래밍 언어 Java
1.2 코드 입력
JDK를 인스톨하기
코드의 원리 이해하기
텍스트 에디터에 코드 입력하기
1.3 프로그램의 작성
컴파일의 원리 이해하기
컴파일러 실행하기
1.4 프로그램의 실행
프로그램 실행하기
Java 프로그램을 다른 환경에서 사용하기
1.5 강의 요약
연습 문제
Lesson 2. Java의 기본
2.1 화면으로 출력하기
새로운 코드 입력하기
화면에 출력하기
여러 가지 출력 방법 이해하기
2.2 코드의 내용
코드의 흐름 따라가 보기
main( ) 메소드
1문장씩 처리하기
코드를 읽기 쉽게 만들기
주석 작성하기
주석을 입력하는 또 다른 방법
클래스 둘러보기
2.3 문자와 숫자
리터럴이란
문자 리터럴
이스케이프 시퀀스
문자 코드
문자열 리터럴
숫자 리터럴
2.4 강의 요약
연습 문제
Lesson 3. 변수
3.1 변수
변수의 원리를 이해하기
3.2 식별자
변수의 ‘이름’이 되는 식별자
3.3 형
형의 원리 이해하기
3.4 변수 선언
변수 선언하기
3.5 변수의 이용
변수에 값 대입하기
변수의 값 출력하기
변수 초기화하기
변수의 값 바꾸기
다른 변수에 값 대입하기
변수에 값을 대입할 때의 주의점
변수의 선언 위치에 주의
3.6 키보드 입력
키보드로 입력하기
숫자 입력하기
2개 이상의 숫자 입력하기
3.7 강의 요약
연습 문제
Lesson 4. 식과 연산자
4.1 식과 연산자
식의 원리 이해하기
식의 값 출력하기
다양한 연산하기
키보드로 입력한 값을 더하기
4.2 연산자의 종류
다양한 연산자
문자열 연결 연산자
증가·감소 연산자
증가·감소 연산자의 전위와 후위
대입 연산자
시프트 연산자
4.3 연산자 우선 순위
연산자 우선 순위란
같은 우선 순위의 연산자 사용하기
연산자 우선 순위 조사하기
4.4 형 변환
큰 사이즈의 형에 대입하기
작은 사이즈의 형에 대입하기
다른 형끼리 연산하기
같은 형끼리 연산하기
4.5 강의 요약
연습 문제
Lesson 5. 경우에 따른 처리
5.1 관계 연산자와 조건식
조건의 원리 이해하기
조건을 작성하기
관계 연산자 사용하기
5.2 if 문
if 문의 원리 이해하기
if 문으로 여러 개의 문장 실행시키기
블록으로 감싸지 않으면 어떻게 되나요
5.3 if~else 문
if~else 문의 원리 이해하기
5.4 여러 조건을 판단하기
if ~else if ~else 문의 원리 이해하기
5.5 switch 문
switch 문의 원리 이해하기
break 문이 빠져 있다면?
입력 문자로 분기하기
5.6 논리 연산자
논리 연산자의 원리 이해하기
복잡한 조건 판단하기
조건 연산자의 원리 이해하기
5.7 강의 요약
연습 문제
Lesson 6. 여러 번 반복하기
6.1 for 문
for 문의 원리를 이해하기
변수를 반복문 내에서 사용하기
for 문 응용하기
6.2 while 문
while 문의 원리 이해하기
6.3 do~while 문
do~while 문의 원리 이해하기
6.4 문장의 중첩
for 문 중첩하기
if 문 등과 조합하기
6.5 프로세스 흐름의 변경
break 문의 원리를 이해하기
switch 문 안에서 break 문 사용하기
continue 문의 원리 이해하기
6.6 강의 요약
연습 문제
Lesson 7. 배열
7.1 배열
배열의 원리 이해하기
7.2 배열의 준비
배열 준비하기
배열에 값을 대입하기
7.3 배열의 이용
반복문을 배열에 사용하기
배열 첨자 사용 시 주의점
키보드로 배열 길이를 입력하기
7.4 배열을 선언하는 방법
배열을 선언하는 또 다른 방법 이해하기
배열을 초기화하기
7.5 배열 변수
배열 변수에 값을 대입하기
배열 변수에 값을 대입한다는 것
7.6 배열의 응용
배열의 길이를 알기
배열의 내용을 정렬하기
7.7 다차원 배열
다차원 배열의 원리 이해하기
다차원 배열을 선언하는 방법
7.8 강의 요약
연습 문제
Lesson 8. 클래스의 기본
8.1 클래스 선언
클래스란
Java에는 클래스가 필수적이다
클래스의 원리 이해하기
클래스 선언하기
8.2 객체 생성
클래스를 사용한다는 것은
객체를 생성하기
멤버에 접근하기
8.3 클래스 사용
클래스를 사용하는 프로그램
2개 이상의 객체 생성하기
2개의 클래스 파일이 생성된다
클래스를 사용하는 순서 정리
8.4 메소드의 기본
메소드 정의하기
메소드 호출하기
필드에 접근하는 방법
메소드에 접근하는 방법
8.5 메소드의 인수
인수를 사용하여 정보 전달하기
인수를 전달하여 메소드 호출하기
다른 값을 전달해서 호출하기
변수 값을 전달해서 호출하기
둘 이상의 인수를 가지는 메소드 정의하기
인수가 없는 메소드를 사용하기
8.6 메소드의 리턴 값
리턴 값의 원리 이해하기
리턴 값이 없는 메소드를 사용하기
8.7 강의 요약
연습 문제
Lesson 9. 클래스의 기능
9.1 멤버에 대한 접근 제한
멤버에 대한 접근 제한하기
private 멤버 만들기
public 멤버 만들기
캡슐화의 원리 이해하기
9.2 메소드의 오버로딩
오버로딩의 원리를 이해하기
오버로딩 사용 시 주의점
9.3 생성자의 기본
생성자의 원리 이해하기
생성자의 역할을 이해하기
9.4 생성자 오버로딩
생성자를 오버로딩하기
다른 생성자를 호출하기
생성자를 생략하면 어떻게 되나요?
생성자에 접근 제한자를 붙이기
9.5 클래스 변수, 클래스 메소드
인스턴스 변수의 원리 이해하기
클래스 변수와 클래스 메소드
클래스 메소드 사용시 주의점
9.6 강의 요약
연습 문제
Lesson 10. 클래스 이용
10.1 클래스 라이브러리
클래스 라이브러리의 원리 이해하기
지금까지 사용한 클래스 이해하기
10.2 문자열 처리 클래스
문자열 처리 클래스
문자열의 길이를 알아내고 문자열에서 문자를 추출하기
문자열 객체를 생성할 때의 주의점
대문자와 소문자를 변환하기
문자 검색하기
문자열 추가하기
10.3 기타 클래스
Integer 클래스 사용하기
Math 클래스 사용하기
10.4 클래스 형 변수
클래스 형 변수에 대입하기
null의 원리를 이해하기
메소드의 인수로서 사용하기
값의 전달과 참조의 전달
10.5 객체 배열
객체 배열 다루기
10.6 강의 요약
연습 문제
Lesson 11. 새로운 클래스
11.1 상속
상속의 원리 이해하기
클래스 확장하기
서브 클래스의 객체 생성하기
슈퍼 클래스의 생성자 호출하기
슈퍼 클래스의 생성자 지정하기
11.2 멤버에 접근하기
서브 클래스 안에서 접근하기
11.3 오버라이딩
메소드를 오버라이딩하기
슈퍼 클래스의 변수로 객체 다루기
오버라이딩의 중요성 이해하기
슈퍼 클래스와 같은 이름을 가지는 멤버 사용하기
final 붙이기
11.4 Object 클래스의 상속
클래스의 계층 구조 만들기
Object 클래스의 원리 이해하기
toString( ) 메소드 정의하기
equals( ) 메소드 사용하기
getClass( ) 메소드 사용하기
11.5 강의 요약
연습 문제
Lesson 12. 인터페이스
12.1 추상 클래스
추상 클래스의 원리 이해하기
추상 클래스 사용하기
instanceof 연산자
12.2 인터페이스
인터페이스의 원리 이해하기
인터페이스 구현하기
12.3 클래스 계층
다중 상속의 원리 이해하기
2개 이상의 인터페이스 구현하기
인터페이스 확장하기
클래스의 계층 구조 설계하기
12.4 강의 요약
연습 문제
Lesson 13. 대규모 프로그램의 작성
13.1 파일 분할
파일 분할하기
13.2 패키지의 기본
패키지의 원리를 이해하기
같은 패키지 안의 클래스 사용하기
13.3 패키지의 사용
같은 패키지에 포함시키기
다른 패키지로 나누기
다른 패키지 안의 클래스 사용하기
패키지 이름으로 클래스를 구분하기
13.4 임포트
임포트의 원리 이해하기
서브 패키지 만들기
클래스 라이브러리의 패키지
여러 클래스를 임포트하기
13.5 강의 요약
연습 문제
Lesson 14. 예외와 입출력 처리
14.1 예외의 기본
예외의 원리 이해하기
예외를 처리하기
finally 블록 추가하기
14.2 예외와 클래스
예외와 클래스의 원리 이해하기
예외 정보 출력하기
예외의 종류를 파악하기
14.3 예외 던지기
예외 클래스 선언하기
예외 던지기
예외를 받아내지 않으면 어떻게 되나요?
14.4 입출력의 기본
스트림의 원리 이해하기
스트림의 예를 이해하기
파일의 원리 이해하기
파일에 출력하기
파일로 입력하기
많은 양의 데이터를 입력하기
명령 줄 인수 사용하기
14.5 강의 요약
연습 문제
Lesson 15. 스레드
15.1 스레드의 기본
스레드의 원리 이해하기
스레드 기동시키기
여러 개의 스레드 기동시키기
15.2 스레드의 상태 변화시키기
스레드를 일시 정지시키기
스레드 종료를 기다리기
15.3 스레드의 생성방법
스레드를 생성하는 또 다른 방법을 이해하기
15.4 동기화
동기화의 원리 이해하기
15.5 강의 요약
연습 문제
Lesson 16. 그래픽 어플리케이션
16.1 GUI 어플리케이션
GUI의 구조 이해하기
컴퍼넌트의 구조 이해하기
색상과 글꼴 설정하기
이벤트의 구조 이해하기
고도의 이벤트 처리하기
이벤트 처리를 간결하게 작성하기
16.2 어플리케이션의 응용
이미지 표시하기
마우스로 그리기
애니메이션 만들기
16.3 Java의 응용
스마트폰 어플리케이션 개발하기
Web 어플리케이션 개발하기
16.4 강의 요약
연습문제
Appendix A. 연습문제 해답
Appendix B. FAQ
01. 반품기한
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
03. 배송상태에 따른 환불안내
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
04. 취소방법
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
06. 취소반품 불가 사유
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |