미리보기
Java 프로그래밍 기초 넘나들기
안드로이드 앱, 웹, IoT 개발을 위한 Java 필독서
ISBN 978-89-315-5382-6
저자 강성수
발행일 2015-08-25
분량 664쪽
편집 2도
판형 188x245
개정판정보 2015.8.25
정가 29,000원↓
판매가 26,100
(10% off)
적립금 1,450원(5%)
  소득공제
도서소개

 책 소개


안드로이드 앱IoT 개발을 위한 Java 필독서 

 

   

이 책은 올해로 탄생 20주년이 된 범용 프로그래밍 언어 자바(Java)를 공부하고자 하는 학생들을 위한 자바의 문법부터 활용, 코드 적용까지 폭넓게 설명하는 범용 자바 입문서이다. 자바는 내년 9월에 자바9이 발표되기로 예정되어 있는, 지속적으로 업그레이드 되고 있는 진화하는 언어이다. 최근에는 자바스크립트, Node.js로 반경을 넓혀 더욱 진화해 간다고는 하지만 여전히 자바 기본에 충실해야 하는 이유는 기본을 알아야 응용을 할 수 있기 때문이다. 많은 자바 전문가들에 따르면 자바는 특히 웹 뿐만 아니라 요즘의 스마트폰용 앱, 사물인터넷(IoT)용 애플리케이션 개발, 심지어는 센서와 임베디드 제어, 네트워크 등에까지 활용 반경이 확대되고 있다.

 

이 책은 자바를 강의 과목으로 채택하는 대학을 위한 대학교재로 개발되었으며, 좀더 객관적인 평가를 위해 분야별 자바 관련 엔지니어로 활약하는 자바 테크니션 5인으로부터 책의 중간 점검을 받았고 호평받은 바 잇다. 또한 완성도를 높이기 위해 유현석 자바 커뮤티니 연합회(JCO) 회장이 이 책의 모든 자바 소스를 컴파일 해보고 리뷰 의견을 반영해 수정한 소스를 실었다. 이 책의 모든 소스는 성안당 자료실을 통해 제공된다.

 

14장 구성으로 한 학기 강의하고 수강하기에 적합한 이 책은 그동안 다양한 프로그래밍 언어 관련서를 통해 꾸준히 고정 독자를 확보해 온 강성수 박사가 집필했다. 자바의 개념을 잘 이해할 수 있도록 각종 도해와 직접 실행해 볼 수 있는 소스로 이해를 높이도록 했으며, 매 장이 끝나면 연습문제와 정답을 통해 실력을 단계별로 높일 수 있다. 대학 교재로 채택할 경우 강사를 위한 강의용 PPT도 성안당 강의자료실을 통해 제공한다.

 

 

 추천사

안드로이드 앱 개발·각종 센서와 임베디드 제어·네트워크 등에 활용되는 자바

소프트웨어 품질 관리 업체 티오베(www.tiobe.com)’의 조사에 따르면 자바(Java)’C와 몇 년째 1, 2위를 다투는 인기 프로그래밍 언어이다. 안드로이드 앱 개발을 비롯해 각종 센서와 임베디드 제어, 네트워크 등 다양한 분야에 활용되고 있으며, 전 세계 오픈소스 프로젝트 대부분이 자바 언어로 개발되고 있을 정도이다. 개발자에게 있어 자바는 필수적인 언어라도 해도 과언이 아니다. 그러나 여전히 자바를 정규 커리큘럼에 포함하지 않는 대학이 많습니다. 포함됐다 하더라도 깊이 있게 다루는 경우는 드물다. 그 때문에 학생들은 독학을 하거나 현업에서 뒤늦게 자바를 공부하기도 합니다. 이런 시점에서 <자바 프로그래밍 기초 넘나들기>가 출간된 것은 참 다행이란 생각이 든다. 자바를 공부하기로 마음먹은 컴퓨터공학과 학생이나 자바 입문자라면 이 책이 좋은 안내서가 될 것이다.

 

- 서준석 월간 마이크로소프트웨어 기자 seojs@imaso.co.kr

 

 

자바 테크니션 베타 리뷰어 5인의 멘트

 

객체 지향 언어의 대표 주자인 Java를 충실하게 알려주는 범용 Java 입문서

- 강상진 아카마이테크놀러지스 프로젝트 매니저(이사) sakang@akamai.com

 

객체지향 코딩 기법, 패키지를 통한 구조화, 콜렉션 설명 훌륭해

- 박상현, 미국 LinkedIn 빅데이터팀 스태프 엔지니어 shpark76@gmail.com

 

 

웹의 생태계를 이끄는 Java의 핵심과 체계를 잡아주는 책

- 김다니엘, 소프트웨어 엔지니어 5년차 ilque.daniel@gmail.com

 

웹 뿐 아니라 안드로이드 앱도 개발하는 Java의 입문서로 충분

- 안진섭, ()매직에코 CTO jinniahn@gmail.com

 

개념 이해 모식도와 그림들 인상 깊어

- 천원중, 삼성서울병원 방사선종양학과 연구원 wonjoongcheon@gmail.com

 

 

 저자 소개

저자 | 강성수 (공학박사)

현직 교수로 30년 이상 강단을 지킨 공학박사이다. 강성수 교수는 프로그래밍 기초 넘나들기> <초보자를 위한 C++ 프로그래밍> 외에도 <자바홀릭> 등 다수의 저서가 있다.

목차

목차

||||| Contents

 

저자 서문 3

 

Java 테크니션 베타 리뷰 4

 

 

Chapter01자바 소개


01 | Java 출현 16

자바 역사와 특징/자바 프로그램 작성과 실행 과정/자바 프로그램 종류

 

02 | Java 환경 18

자바 다운로드/자바 JDK 환경설정/오리클에서 제공하는 The Java Language Specification

 

03 | Eclipse 26

이클립스 설치/이클립스 실행/자바 애플리케이션 작성/기존 프로젝트 화면에서 삭제하기

기존 프로젝트 가져오기/Refactor 선택하여 이름 변경하기/이클립스 단축키

이클립스에서 자바 API Document/이클립스에서 한글 처리용 UTF-8로 변경하기

 

연습문제

 

 

Chapter02자바 시작하기


01 | 간단한 Java 프로그램 56

자바 프로그램 기본 구조

 

02 | 데이터 타입 63

기본 타입과 참조 타입

 

03 | 상수와 변수 65

기식별자/변수 선언과 사용/리터럴 상수/boolean 타입/표현식/Symbolic 상수

 

04 | 기본 입출력 72

System.out.println( ) 메소드/BufferedReader 클래스/Scanner 클래스

 

05 | 연산자 87

연산자/대입연산자/자동 형변환과 명시적 형변환/증감연산자/산술 연산자/큰 수 계산할 수 있는

BigIntegerBigDecimal/관계 연산자/논리 연산자/비트 연산자/shift 연산자/조건 연산자 ?

 

연습문제

 

 

Chapter03제어문


01 | 간단한 Java 프로그램 112

if/if~else/중첩 if/switch

 

02 | 반복문121

while, 조건이 성립하는 동안 반복 비례/무한 루프/중첩 while/do~while/for

for, while, do~while문 관계/무한 루프 for문과 while/for문의 중첩

break문으로 블록 벗어나기/continue문으로 블록 끝으로 이동

 

연습문제

 

 

Chapter04배열


01 | 배열 156

배열/1차원 배열 선언/1차원 배열 생성/1차원 배열 초기화/1차원 배열 사용

배열의 크기 length 필드/향상된 for

 

02 | 다차원 배열 164

다차원 배열/2차원 배열/2차원 배열 초기화/톱니형 배열/배열 복사/for루프 사용한 배열 복사

arraycopy( ) 메소드 사용한 배열 복사/clone( ) 메소드 사용한 배열 복사/배열 정렬

 

연습문제

 

 

 

Chapter05객체와 클래스


01 | 객체188

객체와 인스턴스/클래스/클래스 만들기/메소드 호출하여 사용하기/소스 파일과 클래스/객체 생성

객체 멤버 접근하여 사용하기/객체의 사용 범위/필드(멤버 변수) 선업/멤버 변수 종류

 

02 | 생성자 201

생성자/기본 생성자/매개변수 있는 생성자/가비지 컬렉션/ 객체 자신에 대한 레퍼런스 this

생성자를 이용한 인스턴스 복사

 

03 | 메소드211

메소드/메소드 만들기/접근 지정자/매개변수와 인수/리턴 타입/메소드 호출방법

매개변수와 리턴 타입으로 작업하기/메소드 오버 로딩/인스턴스 멤버/static 멤버

enum 타입으로 멤버 만들기/멤버 변수의 유효 범위

 

04 | 객체 배열 233

기본 타입 배열을 필드로 선언하기/메소드에서 객체 배열 리턴하기

호출한 메소드의 인수로 객체 배열 전달하기/메소드의 리턴 타입으로 객체 배열 리턴하기

 

05 | 중첩 클래스242

중첩 클래스

 

06 | 예외 처리 253

예외/예외 방생한 메소드 내에서 직접 처리/자바에서 제공하는 java.lang.Throwable 클래스

예외 강제발생 throw, 예외 떠넘기기 throws/예외 발생 근원지 추적 정보

 

연습문제

 

 

Chapter06상속


01 | 클래스 상속 278

클래스 상속/생성자/서브 클래스에서 수퍼 클래스의 생성자 호출 super( )this( )

업캐스팅과 다운캐스팅/객체 타입을 판별하는 instanceof 연산자/메소드 오버라이딩

추상 클래스/인터페이스

 

연습문제

 

 

Chapter07패키지


01 | 패키지 322

package로 클래스가 소속될 패키지명 선언/import/이클립스 사용하여 패키지 만들기

 

02 | JDK 패키지333

JDK의 주요 패키지

 

03 | Object 클래스334

Object 클래스/toString( ) 메소드

 

04 | Wrapper 클래스338

Wrapper 클래스/박싱(Boxing)과 언박싱(Unboxing)/StringStingBuffer 클래스

String Tokenizer 클래스/Math 클래스/Java.Jang.Character 클래스

 

연습문제

 

 

Chapter08컬렉션과 제네릭


01 | 컬렉션과 제네릭364

Collection/제네릭/제네릭 클래스 선언과 생성/제네릭 메소드와 생성자 선언과 생성/와일드카드

 

02 | 제네릭 컬렉션377

Vector/ArrayList/Iterator를 이용한 인스턴스의 순차적 접근/LinkedListHashMap

 

연습문제

 

 

Chapter09스윙


01 | 스윙이란? 406

Swing의 구조/Container 클래스/Component 클래스

 

02 | 스윙 GUI 프로그램 411

GUI 작성과정/JFrame 객체를 직접 생성하여 프레임 만들기

JFrame 객체를 상속받아 프레임 만들기/프레임에 컴포넌트 붙이기

 

03 | 컨테이너 배치418

배치관리자/FlowLayout 배치관리자/BorderLayout 배치관리자

GridLayout 배치관리자/GridBagLayout 배치관리자/절대 위치 AbsolutionLayout

 

04 | 컴포넌트 디자인 432

컴포넌트의 위치와 크기 설정/컴포넌트의 절대 위치와 크기 설정/컴포넌트의 테두리 모양 설정

 

연습문제

 

 

Chapter10이벤트 처리


01 | 이벤트 450

이벤트/이벤트 객체

 

02 | 이벤트 리스너 작성 453

리스너 인터페이스/이벤트 리스너 작성/독립 클래스로 이벤트 리스너 작성

내부 클래스로 이벤트 리스너 작성/익명 클래스로 이벤트 리스너 작성

 

03 | 어댑터 클래스463

Adapter 클래스/마우스 이벤트/키 이벤트

 

연습문제

 

 

Chapter11스윙 컴포넌트


01 | 스윙 컴포넌트494

스윙

 

02 | JLabel로 문자열과 이미지 출력496

JLabel

 

03 | JButton으로 버튼 만들기498

JButton

 

04 | JCheckBox로 체크박스 만들기 502

JCheckBox

 

05 | JRadioButton으로 라디오버튼 만들기506

JRadioButton

 

06 | JTextField로 한 줄 입력창 만들기 509

텍스트 관련 컴포넌트/JTextField

 

07 | JTextArea로 여러 줄 입력창 만들기517

JtextArea

 

08 | JList로 리스트 만들기 518

JList

 

09 | JComboBox로 콤보박스 만들기 522

JComboBox

 

10 | 메뉴 만들기 525

메뉴 구성하기

 

11 | 팝업 대화상자 528

JOptionPanel

 

연습문제

 

 

Chapter12그래픽


01 | 그래픽 556

컴포넌트에 그리기 paint( ) 메소드/repaint( )로 그래픽 다시 그리기/스윙 컴포넌트 그리기

drawStrint( )으로 문자열 그리기/Graphics 상태 정보/ColorFont/도형 그리기

 

02 | 이미지 처리569

drawImage( ) 이용하여 이미지 그리기/이미지 아이콘/이미지 크기 재조정

 

연습문제

 

 

Chapter13스레드


01 | 스레드 592

스레드/Thread 클래스로 스레드 만들기/Runnable 인터페이스로 스레드 만들기

 

02 | 스레드 동기화600

스레드 동기화 필요성/synchronized를 이용하여 동기화 블록 지정하기

wait( )/notify( ) 메소드로 스레드 동기화

 

연습문제

 

 

Chapter14입출력


01 | 입출력 스트림622

입출력 스트림/문자 스트림/BufferReader/BufferWriter

 

02 | 문자 스트림으로 텍스트 파일 입출력 628

텍스트 파일쓰기/텍스트 파일 읽기

 

03 | 바이트 스트림으로 바이너리 파일 입출력 635

바이너리 파일 쓰기/바이너리 파일 읽기

 

04 | File 클래스 639

File 클래스

 

05 | 랜덤파일 입출력 643

랜덤 파일 읽기와 쓰기

 

연습문제

 

 

참고문헌 및 사이트 664

저자
부록/예제소스
정오표
    최근 본 상품 1