이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1부. 자바 기본
1장. 자바를 시작하며 자바란? 개발 환경 구축하기 자바에서의 명명 규칙 2장. 변수와 상수 변수의 이해와 활용 변수의 타입 논리형 - boolean 문자형 - char 정수형 - byte, short, int, long 실수형 - float, double 형변환 상수 3장. 연산자 연산자 종류와 우선순위 단항 연산자 논리 부정 연산자 ! 부호 연산자 +, - 비트 전환 연산자 ~ 증감 연산자 + + , - - 산술 연산자 나머지 연산자 % 사칙 연산자 +, -, ?, / 시프트 연산자 <<, >>, >>> 비교 연산자 대소비교 연산자 <, >, <=, >= 등가비교 연산자 ==, != 논리 연산자 논리 연산자 &&, || 비트 연산자 &, |, ^ 4장. 실행흐름의 컨트롤 조건문 if문, switch문 if문 switch문 반복문 for, while, do~while do~while문 for문 while문 break와 continue문 break문 continue문 변수의 범위 5장. 배열 배열(array)의 필요성 배열의 선언과 생성 그리고 초기화 배열의 사용 배열의 복사 다차원 배열 가변 배열 배열을 벗어난 인덱스 System.arraycopy와 매뉴얼 복사 중 누가 빠른가? Arrays - 배열을 위한 유틸 클래스 6장. 객체 지향 프로그래밍의 개념 객체 지향 프로그래밍이란? 객체 객체 간 상호작용 캡슐화 객체와 클래스 그리고 객체 참조자 7장. 클래스, 변수,메소드 자바 10에서의 지역 변수 타입 추론 클래스 선언 클래스 사용 클래스 구성 요소 필드(멤버 변수) 필드 선언 필드 사용 메소드 Void 메소드 오버로딩 생성자 8장. 패키지와 임포트 패키지 임포트(import) 9장. 상속과 오버라이딩 그리고 다형성 상속의 개념 상속 오버라이딩 다형성 상속과 생성자 상속관계에서의 메소드 호출 순서 10장. 제어자 접근 제어자 Private Protected Public 프로그래밍 가이드 - 접근 제어자의 엄격한 적용 프로그래밍 가이드 - 멤버변수에 대한 직접 접근을 막아라 static 제어자 정적 메소드의 재정의 불가 final 제어자 11장. 추상 클래스와 인터페이스 추상 클래스 인터페이스 인터페이스를 사용한 다중상속 자바 8 이후의 인터페이스 변화 인터페이스 private 메소드와 인터페이스 private 정적 메소드 인터페이스 디폴트(default) 메소드 인터페이스 정적(static) 메소드 자바 8 이후의 인터페이스를 사용한 다중상속 자바8 이후의 ::를 사용한 메소드 참조 그리고 함수형 인터페이스 빌트인 함수형 인터페이스 함수형 인터페이스 12장. 중첩 클래스 중첩 클래스 사용 이유 중첩 클래스 분류 내부 클래스 정적 내부 클래스 메소드 로컬 내부 클래스 익명 내부 클래스 유사 중첩 클래스 13장. 오류 처리 오류 처리 소개 오류 클래스 구조 및 기본 동작 방식 예외 캐치 처리 순서 비즈니스 예외 실 프로젝트에서 많이 사용되는 예외 처리 방안 finally 문장 try-with-resources 문장 인터페이스나 추상 클래스에서의 예외 쓰로우 선언 14장. 자주 사용하는 자바 기본 API Object 클래스 clone() toEquals() toString() 프로그래밍 가이드 - Object의 toString()을 재정의하라 String 클래스 Math 클래스 래퍼 클래스 Random 클래스 java.util.regex 패키지 BigInteger BigDecimal Calendar와 Date 그리고 DateFormat 자바 8부터 지원하는 새로운 날짜 지원 API 날짜 및 시간 객체에서 정보 조회하기 날짜 및 시간 알아내기 날짜와 시간 더하거나 빼기 날짜와 시간 변경하기 특정 날짜 계산하기 Duration을 사용한 초, 나노초 기반 차이 Period를 사용한 날짜 기반 차이 날짜 및 시간 비교 날짜 및 시간 차이 계산 날짜 포맷팅 ZonedDateTime으로 세계시 다루기 15장. 제네릭 들어가면서 제네릭의 필요성 제네릭을 이용한 첫번째 클래스 작성하기 제네릭 동작 방식 제네릭 기본 문법 구체화 타입의 자식 타입 사용 가능 정적 요소에 제네릭 타입 사용 불가 제네릭 클래스의 new 불가 제네릭 타입 구체화 시 배열 불가 제네릭 타입에 제약 조건 두기 제네릭 인터페이스 제네릭 메소드 제네릭 와일드카드 좀 더 복잡한 제네릭 메소드와 와일드카드의 예 파라미터에는 와일드카드가 없는 경우 파라미터에 와일드카드가 두개 있는 경우 파라미터에 와일드카드가 한개 있는 경우 다이아몬드 연산자 16장. 컬렉션 프레임워크 HashSet ArrayList Vector HashMap과 Hashtable Iterator 리스트 대 배열 Comparator를 사용한 목록 정렬하기 목록에 요소 추가 및 삭제하기 foreach문에서의 추가 및 삭제 시 예외발생 Iterator를 사용한 요소 삭제 인덱스를 사용한 for문에서의 삭제 시 정합성 문제 인덱스를 사용한 요소 삭제 및 추가 17장. 열거형(Enum 타입) 들어가면서 처음 만나는 열거형 열거형에 데이터 연결하기 여러 형태의 열거형 정의 방법 열거형에 관한 유용한 메소드 18장. 어노테이션 들어가면서 어노테이션 맛보기 JDK가 제공하는 표준 어노테이션 커스텀 어노테이션 작성을 위한 기초 지식 @Documented @Inherited @Repeatable @Retention @Target 커스텀 어노테이션 작성하기 프로그래밍 가이드 - 네이밍 규칙보다는 어노테이션을 사용해 식별하라 19장. 람다식 들어가면서 람다식 개념 람다식 활용 예 함수형 인터페이스 람다식을 조합하기 위한 빌트인 함수형 인터페이스의 장치 람다 캡처링 20장. 자바 8의 스트림 들어가면서 스트림을 왜 사용하는가? 스트림 동작 방식 Stream의 인스턴스 메소드 collect() Stream의 인스턴스 메소드 filter() Stream의 인스턴스 메소드 map() Stream의 인스턴스 메소드 sorted() 스트림 예제 분석하기 스트림 좀더 알아보기 다양한 스트림 메소드 Collectors.groupingBy() 메소드 Finding과 Matching 메소드 foreach 메소드 Stream의 mapToInt(), mapToLong(), mapToDouble() 메소드 Stream의 Reduce() 메소드 병렬처리를 위한 parallelStream 복합객체의 스트림을 세부 객체의 스트림으로 분해하는 flatMap() 메소드 중복 요소를 제거하는 메소드 - distinct() 최대 요소의 개수를 제한하는 메소드 - limit() 특정 개수를 건너띄는 메소드 - skip() 필터 기능을 제공하는 메소드 - filter(), distinct(), limit(), skip() 21장. 스레드 들어가면서 스레드란? 동시성와 병렬성 첫 번째 스레드 프로그램 다양한 스레드 생성 방법 스레드 세이프 동기화 메소드 및 동기화 블록 멀티스레드 프로그래밍의 일반적인 패턴 - 스레드 풀 서버(Was)의 스레드 프로그래밍 모델 스레드 로컬 결과 값이 있는 동시 수행 Fork/Join 프레임워크의 필요성 ForkJoin을 사용한 동시 처리 22장. I/O 스트림 및 파일 들어가면서 I/O 스트림 개념 다양한 I/O 스트림 FileInputStream FileOutputStream ByteArrayInputStream /ByteArrayOutputStream 버퍼링 개념 BufferedInputStream/BufferedOutputStream 파일 다루기 File 생성자 I/O 스트림 등에서 파일이름 문자열 대신 File 사용하기 기존 파일에 스트링 덧붙이기 디렉터리 생성하기 마지막 수정 날짜 변경하기 마지막으로 수정된 날짜 구하기 이름 변경하기 파일/디렉터리 존재 여부 확인 파일 사이즈 구하기 파일 삭제하기 파일 생성하기 23장. 네트워크 프로그래밍 들어가면서 네트워크 환경 이해 MAC 라우터 방화벽 스위치 도메인 TCP/IP 4 계층 소켓 서버 기본 구조 이해하기 소켓 클라이언트 프로그램 기본 구조 이해하기 개선된 소켓 서버 프로그램 UDP 소개 및 예제 24장. Java NIO 들어가면서 NIO 이유 채널과 버퍼 그리고 셀렉터 개념 알아보기 버퍼 좀더 알아보기 버퍼 생성 버퍼 위치 속성 채널과 버퍼 사용 패턴 NIO 소켓 서버 프로그램 IO vs NIO 선택 2부. 자바 확장 1장. 생성자 관련 들어가면서 프로그래밍 가이드 - 생성자 대신 정적 팩토리 메소드 사용을 검토하라 프로그래밍 가이드 - 생성자 대신 빌더 사용을 검토하라 프로그래밍 가이드 - 유틸리티 클래스 생성자를 private로 하라 2장. 가비지 컬렉션 들어가면서 프로그래밍 가이드 - 쓸모없는 객체참조를 제거하라 프로그래밍 가이드 - 종결자를 중요 작업에 사용하지 않아야 한다 3장. 객체 복사하기 들어가면서 클론을 이용한 복사 복사 생성자나 복사 정적 팩토리 메소드 사용한 복사방법을 고려하라 4장. 클래스 설계 가이드 들어가면서 프로그래밍 가이드 - 가능한 불변 클래스로 설계하라 프로그래밍 가이드 - 상속보다는 컴포지션을 사용하라 5장. 그 밖의 기타 사항 클래스패스를 고려한 클래스 실행 java로 클래스 실행 시 인수 전달하기 라이브러리란? Maven 환경 소개 |
|
이 책에서 다루는 내용
? 초보자를 위한 자바 문법 핵심 + 알파 ? 실제 프로젝트에서 사용하는 문법 위주의 자바 프로그래밍 ? 좋은 프로그램을 위한 기본적인 가이드 ? 개발자들이 실수하기 쉬운 개념 ? 정부가 주관하는 수십 개의 프로젝트에서 사용하지 않는 문법 제외 이 책의 대상 독자 ? 프로그래밍 경험이 없는 자바 입문자 ? 개발 관련 경험이 있으면서 자바를 시작하는 개발자 ? 기존에 작성된 코드를 생각 없이 사용하는 개발자 |