Java 복습 목차

    

Java를 공부할 때 필요한 개념들을 체계적으로 정리한 목차를 아래에 작성했습니다. **초급 → 중급 → 고급** 순으로 정리했으니, 학습 순서에 맞게 참고하시면 좋습니다.


* * * * *


**Java 공부 목차**

==============


**1\. Java 기초**

---------------


1.  Java 소개 및 설치


    -   Java의 특징

    -   JDK, JRE, JVM의 차이

    -   Java 설치 및 환경 변수 설정

2.  기본 문법


    -   프로그램 구조 (`main` 메서드)

    -   기본 자료형 (`int`, `double`, `boolean` 등)

    -   변수와 상수

    -   데이터 타입 변환

    -   주석 처리

3.  제어문


    -   조건문 (`if`, `switch`)

    -   반복문 (`for`, `while`, `do-while`)

    -   break와 continue

4.  배열


    -   1차원 배열

    -   다차원 배열

    -   배열의 초기화와 활용


* * * * *


**2\. 객체지향 프로그래밍 (OOP)**

------------------------


1.  클래스와 객체


    -   클래스 정의 및 객체 생성

    -   멤버 변수와 메서드

    -   생성자와 생성자 오버로딩

2.  접근 제어자


    -   `public`, `private`, `protected`, (default)

3.  캡슐화


    -   Getter와 Setter 메서드

4.  상속


    -   `extends` 키워드

    -   메서드 오버라이딩

    -   `super` 키워드

5.  다형성


    -   메서드 오버로딩

    -   다형성의 개념과 활용

    -   업캐스팅과 다운캐스팅

6.  추상 클래스와 인터페이스


    -   `abstract` 키워드

    -   추상 클래스와 인터페이스의 차이

    -   다중 구현

7.  패키지와 접근 제어


    -   패키지 구조와 사용

    -   `import`와 클래스 경로


* * * * *


**3\. 예외 처리**

-------------


1.  예외의 개념


    -   예외와 오류의 차이

    -   Checked Exception vs Unchecked Exception

2.  예외 처리 문법


    -   `try`, `catch`, `finally`

    -   `throw`와 `throws`

3.  사용자 정의 예외


    -   커스텀 예외 클래스 작성


* * * * *


**4\. Java 컬렉션 프레임워크**

----------------------


1.  컬렉션 개요


    -   `Collection`과 `Map`의 차이

    -   제네릭의 기본 개념

2.  List 인터페이스


    -   `ArrayList`, `LinkedList`

3.  Set 인터페이스


    -   `HashSet`, `TreeSet`

4.  Map 인터페이스


    -   `HashMap`, `TreeMap`

5.  Queue 인터페이스


    -   `LinkedList`, `PriorityQueue`

6.  기타 컬렉션 유틸리티


    -   `Collections` 클래스의 주요 메서드

    -   컬렉션 정렬


* * * * *


**5\. Java 입출력 (I/O)**

----------------------


1.  파일 읽기와 쓰기


    -   `File` 클래스

    -   `FileReader`, `FileWriter`

2.  버퍼 입출력


    -   `BufferedReader`, `BufferedWriter`

    -   `Scanner`로 입력받기

3.  직렬화와 역직렬화


    -   `Serializable` 인터페이스

    -   `ObjectInputStream`과 `ObjectOutputStream`


* * * * *


**6\. Java 8 이후의 주요 기능**

------------------------


1.  람다 표현식


    -   람다 문법

    -   함수형 인터페이스

2.  스트림(Stream) API


    -   스트림 생성

    -   중간 연산 (`filter`, `map`, `sorted` 등)

    -   종료 연산 (`collect`, `forEach` 등)

3.  Optional 클래스


    -   NullPointerException 방지

    -   `Optional` 사용법

4.  날짜와 시간 API


    -   `LocalDate`, `LocalTime`, `LocalDateTime`

    -   날짜 연산 및 포맷


* * * * *


**7\. 멀티스레드와 병렬 처리**

--------------------


1.  스레드 개념


    -   스레드의 생성과 실행

    -   `Runnable` 인터페이스

2.  동기화


    -   `synchronized` 키워드

    -   데드락 방지

3.  Executor 프레임워크


    -   스레드 풀

    -   `Callable`과 `Future`


* * * * *


**8\. 디자인 패턴**

--------------


1.  Singleton 패턴

2.  Factory 패턴

3.  Observer 패턴

4.  Builder 패턴

5.  Strategy 패턴


* * * * *


**9\. 네트워크 프로그래밍**

------------------


1.  소켓 프로그래밍


    -   `Socket` 클래스

    -   `ServerSocket` 클래스

2.  HTTP 클라이언트


    -   `HttpURLConnection` 클래스

    -   Java 11의 `HttpClient` API


* * * * *


**10\. 데이터베이스와 JDBC**

---------------------


1.  JDBC 개요


    -   JDBC 드라이버 설정

    -   데이터베이스 연결 (`Connection`)

2.  SQL 실행


    -   `Statement`, `PreparedStatement`

    -   트랜잭션 처리


* * * * *


**11\. Java 고급 주제**

-------------------


1.  리플렉션


    -   `Class` 객체

    -   메서드 및 필드 접근

2.  애노테이션


    -   내장 애노테이션 (`@Override`, `@Deprecated` 등)

    -   사용자 정의 애노테이션

3.  Java의 메모리 구조


    -   힙 메모리와 스택 메모리

    -   Garbage Collection

4.  동적 프로그래밍 (Dynamic Proxy)


    -   Proxy 클래스와 InvocationHandler


* * * * *


**12\. 프레임워크 및 실무 관련**

----------------------


1.  Spring Framework 기초


    -   스프링의 개념과 의존성 주입(DI)

    -   Spring Boot 기본 설정

2.  Hibernate와 JPA


    -   ORM의 개념

    -   엔터티 매핑

3.  Gradle과 Maven


    -   빌드 도구의 사용법

    -   의존성 관리

4.  테스트


    -   JUnit을 사용한 단위 테스트

    -   Mockito로 목(Mock) 객체 생성


* * * * *


### **추가 학습 방향**


-   알고리즘 문제 풀이: 백준, 프로그래머스 등에서 Java 활용.

-   프로젝트 실습: 간단한 웹 애플리케이션 또는 CLI 도구 개발.

-   최신 Java 버전의 기능 탐구: Java 9 이상에서 추가된 모듈 시스템 등.


* * * * *


위 목차를 학습하면 Java의 기본부터 고급 주제까지 폭넓게 다룰 수 있습니다. 각 주제별로 필요한 자료나 예제가 필요하면 말씀해주세요! 😊

댓글

이 블로그의 인기 게시물

STUDY

vue

Capacitor 웹 기반 애플리케이션을 네이티브 앱으로 감싸고, 네이티브 기능에 접근할 수 있게 해주는 프레임워크