Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 1.81 KB

README.md

File metadata and controls

49 lines (34 loc) · 1.81 KB

Mastering Java

Java 프로그래밍의 주요 주제를 다루며 동시성 문제 해결과 병렬성을 얻기 위한 방법을 공부합니다. 아래는 학습 주제와 해당 패키지 구조를 정리한 내용입니다.


학습 주제

  1. 문자열과 수, 수학

    • 패키지: string_and_math
    • 문자열 처리 및 수학 관련 기능 구현 및 활용.
  2. 객체와 불변성

    • 패키지: object_and_immutability
    • 객체 지향 프로그래밍과 불변 객체 설계.
  3. 배열, 컬렉션, 데이터 구조

    • 패키지: collections_and_arrays
    • 배열과 컬렉션 프레임워크, 다양한 데이터 구조 학습.
  4. 자바 리플렉션

    • 패키지: reflection
    • 클래스, 인터페이스, 생성자, 메서드, 필드의 동적 분석과 활용.
  5. 함수형 프로그래밍

    • 패키지: functional_programming
    • 람다, 스트림 API, 함수형 인터페이스.
  6. 동시성

    • 패키지: concurrency
    • 멀티스레딩, 동시성 문제 해결, 동기화 기법.
  7. 옵셔널

    • 패키지: optional
    • Optional 클래스를 활용한 NullPointerException 방지.
  8. HTTP

    • 패키지: http
    • HTTP 요청과 응답 처리, 웹 통신.

테스트 코드 작성 방식

모든 테스트 코드는 직접 만든, AutoTester를 활용하여 작성되었습니다.
AutoTester는 특정 클래스의 모든 메서드를 Reflection을 통해 탐색하고, 각 메서드의 실행 결과를 자동으로 확인하는 구조로 설계되었습니다.

  • AutoTester는 테스트 대상 클래스의 메서드를 동적으로 호출하며, 예상 값과 실제 값을 비교해 결과를 출력합니다.
  • 테스트 실행 시 코드의 정확성은 물론 실행 시간도 자동으로 기록됩니다.