책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9791141987695
· 쪽수 : 301쪽
· 출판일 : 2025-02-14
목차
서문: 실수로 배우는 자바
1. 실수를 디딤돌 삼아 성장하는 자바
1.1 개발 현실에서 마주하는 오류의 중요성
1.2 시행착오를 통한 실력 향상: 실수의 긍정적 재해석
PART 1: 자바 기본 문법 및 핵심 개념에서의 실수
2. 변수와 데이터 타입: 잦은 혼동과 실수
2.1 변수 선언 및 초기화 오류
2.2 기본형 데이터 타입과 참조형 데이터 타입의 혼동
2.3 타입 변환(casting) 오류 및 주의사항
3. 연산자: 오해와 실수
3.1 산술, 논리, 비교 연산자 우선순위 오류
3.2 증감 연산자 사용 시 주의사항
3.3 비트 연산자의 잘못된 사용
4. 배열과 컬렉션: 잘못된 사용과 성능 문제
4.1 배열 선언 및 초기화 시 흔한 실수
4.2 인덱스 오류(IndexOutOfBoundsException)
4.3 컬렉션 선택 오류(ArrayList, LinkedList, HashSet 등)
4.4 컬렉션 API(List, Set, Map) 사용 시 주의사항
5. 제어 흐름: 로직 오류와 무한 루프
5.1 조건문(if, else if, else) 오용 및 로직 오류
5.2 논리 연산자(&&, ||, !) 오해와 실수
5.3 반복문(for, while, do-while)에서의 실수와 무한 루프
5.4 break, continue 사용 시 주의사항
6. 예외 처리: 미흡한 대응과 오류 방치
6.1 try-catch-finally 블록의 잘못된 사용
6.2 예외 발생 시 적절한 대응 방법 부재
6.3 사용자 정의 예외 생성 및 활용법
PART 2: 객체 지향 프로그래밍(OOP)에서의 실수
7. 클래스와 객체: 개념 오해와 잘못된 설계
7.1 클래스 정의와 객체 생성 오류
7.2 생성자(Constructor) 이해 부족과 실수
7.3 객체 간의 관계 설정 오류 (has-a, is-a)
8. 상속과 인터페이스: 잘못된 활용과 오해
8.1 상속 남용 및 다중 상속 문제
8.2 인터페이스와 추상 클래스 활용 오류
8.3 오버라이딩과 오버로딩 시 주의사항
9. 캡슐화와 접근 제어자: 정보 은닉 실패
9.1 접근 제어자(public, protected, private, default) 오용
9.2 getter/setter 메서드 남용과 캡슐화 실패
9.3 불변 객체 설계 방법
PART 3: 자바 API와 라이브러리 사용에서의 실수
10. 문자열 처리: 흔한 실수와 비효율적인 방법
10.1 String 객체의 불변성 오해
10.2 문자열 비교 시 == 와 equals() 메서드 혼동
10.3 문자열 조작 시 성능 문제(String, StringBuilder, StringBuffer)
11. 컬렉션 API: 오해와 잘못된 사용
11.1 제네릭(Generics) 미적용 시 문제점
11.2 컬렉션 데이터 변경 중 ConcurrentModificationException
11.3 컬렉션 API의 다양한 메서드 활용 오류
12. 날짜와 시간 API: 오류와 불편함
12.1 Date, Calendar 클래스의 문제점
12.2 Java 8 이후의 LocalDate, LocalTime, LocalDateTime 활용법
12.3 시간대(TimeZone) 처리 시 주의사항
13. 파일 I/O와 네트워킹: 데이터 통신에서의 실수
13.1 파일 입출력 시 리소스 관리 실패(close() 미호출)
13.2 파일 경로 처리 시 오류
13.3 InputStream/OutputStream, Reader/Writer 이해 부족
13.4 TCP/IP 네트워킹 코드에서의 일반적인 실수
13.5 비동기 통신 및 소켓 프로그래밍 시 주의사항
PART 4: 멀티스레딩과 동시성 문제 해결
14. 스레드 관리: 오류와 비효율
14.1 스레드 생성 및 시작 방법 오류
14.2 스레드 생명주기 관리 실패
14.3 스레드 풀(ThreadPool) 활용 미흡
15. 동시성 문제: 데드락과 레이스 컨디션
15.1 공유 자원 접근 시 동기화 문제
15.2 데드락(Deadlock) 발생 원인 및 해결법
15.3 레이스 컨디션(Race Condition) 문제
15.4 volatile, synchronized 키워드 활용법
15.5 java.util.concurrent 패키지 활용법
PART 5: 데이터베이스 연결과 SQL에서의 실수
16. JDBC 사용: 흔한 오류와 비효율
16.1 JDBC 드라이버 설정 오류
16.2 Connection, Statement, PreparedStatement 관리 실패
16.3 트랜잭션(Transaction) 관리 미흡
17. SQL 쿼리: 실수와 성능 문제
17.1 SQL 인젝션(SQL Injection) 취약점
17.2 성능을 고려하지 않은 SQL 쿼리 작성
17.3 ORM(Object-Relational Mapping) 프레임워크 사용 시 주의사항
PART 6: 자바 최신 기능 활용에서의 실수
18. 람다 표현식과 스트림 API: 오용과 비효율
18.1 람다 표현식 문법 오류 및 가독성 문제
18.2 스트림 API 오용과 성능 문제
18.3 함수형 프로그래밍 개념 이해 부족
19. 모듈 시스템(Java Platform Module System) : 실수와 오해
19.1 모듈 정의 및 구성 오류
19.2 모듈 간 의존성 관리 실패
19.3 모듈 시스템 도입 시 주의사항
PART 7: 실전 프로젝트를 통한 실수 극복
20. 실전 프로젝트: 구상, 설계, 코딩, 테스팅
20.1 프로젝트 요구사항 분석 및 설계 실수
20.2 코딩 과정에서 발생할 수 있는 오류
20.3 테스팅 및 디버깅 시 오류 대처법
20.4 협업 환경에서 발생할 수 있는 실수
20.5 프로젝트 배포 및 유지보수 과정에서의 실수