Part 02. 객체지향 프로그래밍
객체지향 프로그래밍
이 파트에서는 객체지향 프로그래밍(OOP)의 핵심 원리를 깊이 있게 이해하고, 자바 언어를 통해 이를 효과적으로 구현하는 방법을 학습합니다.
클래스(Class), 상속(Inheritance), 인터페이스(Interface), 다형성(Polymorphism) 등 객체지향의 4대 핵심 요소를 마스터하며, 나아가 효율적인 라이브러리 및 모듈 설계 방법까지 다룹니다. 또한, 안정적인 소프트웨어 운영을 위한 필수 역량인 예외 처리(Exception Handling) 기법도 상세히 배울 수 있습니다.
이 과정을 마치면 단순한 코딩을 넘어, 복잡한 자바 애플리케이션의 아키텍처를 이해하고 분석할 수 있는 전문적인 시각을 갖추게 될 것입니다.
학습 목표
- 객체지향 프로그래밍의 특징과 절차지향 프로그래밍과의 차이점을 이해한다.
- 클래스, 객체, 인스턴스의 개념을 이해하고 클래스를 설계하는 방법을 학습한다.
- 상속과 다형성을 통해 코드의 재사용성과 확장성을 높이는 방법을 익힌다.
- 인터페이스를 활용하여 유연하고 결합도가 낮은 코드를 작성하는 방법을 배운다.
- 자바의 참조 타입과 메모리 관리 메커니즘을 이해한다.
- 예외 처리를 통해 안정적인 프로그램을 작성하는 방법을 학습한다.
- 자바 표준 라이브러리와 모듈 시스템을 활용하여 효율적인 개발 방법을 익힌다.
05. 참조 타입
- 5.1 데이터 타입 분류
- 5.2 메모리 사용 영역
- 5.3 참조 타입 변수의 ==, != 연산
- 5.4 null과 NullPointerException
- 5.5 문자열(String) 타입
- 5.6 배열(Array) 타입
- 5.7 다차원 배열
- 5.8 객체를 참조하는 배열
- 5.9 배열 복사
- 5.10 배열 항목 반복을 위한 향상된 for 문
- 5.11 main() 메소드의 String[] 매개변수 용도
- 5.12 열거(Enum) 타입
06. 클래스
- 6.1 객체지향 프로그래밍
- 6.2 객체와 클래스
- 6.3 클래스 선언
- 6.4 객체 생성과 클래스 변수
- 6.5 클래스의 구성 멤버
- 6.6 필드 선언과 사용
- 6.7 생성자 선언과 호출
- 6.8 메소드 선언과 호출
- 6.9 인스턴스 멤버
- 6.10 정적 멤버
- 6.11 final 필드와 상수
- 6.12 패키지
- 6.13 접근 제한자
- 6.14 Getter와 Setter
- 6.15 싱글톤 패턴
07. 상속
- 7.1 상속 개념
- 7.2 클래스 상속
- 7.3 부모 생성자 호출
- 7.4 메소드 재정의
- 7.5 final 클래스와 final 메소드
- 7.6 protected 접근 제한자
- 7.7 타입 변환
- 7.8 다형성
- 7.9 객체 타입 확인
- 7.10 추상 클래스
- 7.11 봉인된 클래스
08. 인터페이스
- 8.1 인터페이스의 역할
- 8.2 인터페이스와 구현 클래스 선언
- 8.3 상수 필드
- 8.4 추상 메소드
- 8.5 디폴트 메소드
- 8.6 정적 메소드
- 8.7 private 메소드
- 8.8 다중 인터페이스 구현
- 8.9 인터페이스 상속
- 8.10 타입 변환
- 8.11 다형성
- 8.12 객체 타입 확인
- 8.13 봉인된 인터페이스
09. 중첩 선언과 익명 객체
10. 라이브러리와 모듈
- 10.1 라이브러리
- 10.2 모듈
- 10.3 응용프로그램 모듈화
- 10.4 모듈 배포용 JAR 파일
- 10.5 패키지 은닉
- 10.6 전이 의존
- 10.7 집합 모듈
- 10.8 리플렉션 허용
- 10.9 자바 표준 모듈
11. 예외 처리
13. 제네릭
16. 람다식
15. 컬렉션 자료구조
- 15.1 컬렉션 프레임워크
- 15.2 List 컬렉션
- 15.3 Set 컬렉션
- 15.4 Map 컬렉션
- 15.5 검색 기능을 강화시킨 컬렉션
- 15.6 LIFO와 FIFO 컬렉션
- 15.7 동기화된 컬렉션
- 15.8 수정할 수 없는 컬렉션
12. java.base 모듈
- 12.1 API 도큐먼트
- 12.2 java.base 모듈
- 12.3 Object 클래스
- 12.4 System 클래스
- 12.5 문자열 클래스
- 12.6 포장 클래스
- 12.7 수학 클래스
- 12.8 날짜와 시간 클래스
- 12.9 형식 클래스
- 12.10 정규 표현식 클래스
- 12.11 리플렉션
- 12.12 어노테이션
19. UML (Unified Modeling Language)
20. 디자인 패턴
- 20.1 Singleton Pattern
- 20.2 Factory Method Pattern
- 20.3 Abstract Factory Pattern
- 20.4 Builder Pattern
- 20.5 Prototype Pattern
- 20.6 Adapter Pattern
- 20.7 Bridge Pattern
- 20.8 Composite Pattern
- 20.9 Decorator Pattern
- 20.10 Facade Pattern
- 20.11 Flyweight Pattern
- 20.12 Proxy Pattern
- 20.13 Chain of Responsibility
- 20.14 Command Pattern
- 20.15 Interpreter Pattern
- 20.16 Iterator Pattern
- 20.17 Mediator Pattern
- 20.18 Memento Pattern
- 20.19 Observer Pattern
- 20.20 State Pattern
- 20.21 Strategy Pattern
- 20.22 Template Method Pattern
- 20.23 Visitor Pattern
서브목차