[Java] 학습 키워드
keywords to practice
📘 CH1 - 기초 문법 (Basic Syntax)
JDK 및 실행환경 (JDK & Runtime)
- JDK (Java Development Kit)
- Javac (Java Compiler)
- JVM (Java Virtual Machine)
- 바이트코드 (.class) (Bytecode)
메모리 및 저장장치 (Memory & Storage)
- RAM (Random Access Memory)
- 휘발성 (Volatile Memory)
- 보조기억장치 (Secondary Storage)
데이터 단위 및 명명 규칙 (Data Units & Naming)
- 바이트 (Byte)
- 비트 (Bit)
- 카멜케이스 (camelCase)
- 스네이크케이스 (snake_case)
기본 구조 및 자료형 (Structure & Data Types)
- 패키지 (Package)
- 클래스 (Class)
- 변수 (Variable)
- 자료형 (Data Type)
- 형변환 (Type Casting)
- 다운캐스팅 (Downcasting)
- 업캐스팅 (Upcasting)
입력 및 출력 (Input & Output)
- Scanner 객체 (Scanner Object)
- System.out.println();
- System.out.print();
- 개행문자 (\n) (New Line Character)
연산자 및 제어문 (Operators & Control Statements)
- 산술연산자 (Arithmetic Operators)
- 대입연산자 (Assignment Operators)
- 복합대입연산자 (Compound Assignment Operators)
- 증감연산자 (Increment / Decrement)
- 전위 연산 (Prefix)
- 후위 연산 (Postfix)
- 비교연산자 (Comparison Operators)
- 논리연산자 (Logical Operators)
- 연산자우선순위 (Operator Precedence)
- 문자열비교 (String Comparison, equals())
조건문 및 반복문 (Conditional & Loop Statements)
- if
- if-else
- else-if
- switch
- for
- break
- while
- do-while
배열 및 메서드 (Arrays & Methods)
- 배열 (Array)
- 배열의 길이 (Length)
- 배열의 요소 (Element)
- 인덱스 (Index)
- 향상된 for 문 (Enhanced for loop)
- 2차원 배열 (2D Array)
- 메서드 (Method)
- 매개변수 (Parameter)
- return
- void
📘 CH2 - 객체지향 개념 (OOP Concepts)
클래스와 객체 (Class & Object)
- 클래스 (Class)
- 객체 (Object)
- 인스턴스화 (Instantiation)
- 속성 (Property / Field)
- 생성자 (Constructor)
- 기능 (Method)
메모리 영역 (Memory Areas)
- Method Area
- Stack Area
- Heap Area
변수 및 래퍼 클래스 (Variables & Wrapper Class)
- 래퍼클래스 (Wrapper Class)
- 기본형 변수 (Primitive Variable)
- 참조형 변수 (Reference Variable)
- 오토박싱 / 언박싱 (Autoboxing / Unboxing)
멤버와 키워드 (Members & Keywords)
- static 키워드 (Static Keyword)
- 인스턴스 멤버 (Instance Member)
- 클래스 멤버 (Class Member)
- final
- 상수 (Constant)
- 불변객체 (Immutable Object)
캡슐화 및 인터페이스 (Encapsulation & Interface)
- 인터페이스 (Interface)
- 구현체 (Implementation)
- 캡슐화 (Encapsulation)
- 정보은닉 (Information Hiding)
- 접근제어자 (Access Modifier)
- 무분별한 세터 (Uncontrolled Setter)
상속과 추상화 (Inheritance & Abstraction)
- 상속 (Inheritance)
- super 키워드 (super Keyword)
- 오버라이딩 (Overriding)
- 추상클래스 (Abstract Class)
- 추상화 (Abstraction)
다형성과 캐스팅 (Polymorphism & Casting)
- 다형성 (Polymorphism)
- 업 캐스팅 (Upcasting)
- 다운 캐스팅 (Downcasting)
📘 CH3 - 고급 개념 및 예외처리 (Advanced Topics & Exception)
예외 및 처리 (Exception & Handling)
- 예외 (Exception)
- 예외처리 (try-catch)
- 예외종류 (Types of Exception)
- 체크예외 (Checked Exception)
- 언체크예외 (Unchecked Exception)
- Optional
컬렉션 (Collection)
- 컬렉션 (Collection)
- ArrayList
- HashSet
- HashMap
제네릭 (Generics)
- 제네릭 (Generic)
- 타입 소거 (Type Erasure)
- 제네릭 클래스 (Generic Class)
- 제네릭 메서드 (Generic Method)
함수형 프로그래밍 (Functional Programming)
- 익명 클래스 (Anonymous Class)
- 함수형 인터페이스 (Functional Interface)
- 오버로딩 (Overloading)
- 람다식 (Lambda Expression)
- 스트림 (Stream)
- map
- filter
쓰레드 (Thread)
- 쓰레드 (Thread)
- 싱글 쓰레드 (Single Thread)
- 멀티 쓰레드 (Multi-thread)
📘 CH4 – 고급 주제 (Advanced Topics)
파일 입출력 (File I/O)
- File 클래스 (File Class)
- FileReader / FileWriter (Character Streams)
- BufferedReader / BufferedWriter (Buffered Character Streams)
- InputStream / OutputStream (Byte Streams)
- try-with-resources (Automatic Resource Management)
- 경로 (Path) 및 절대/상대 경로 처리 (Path / Absolute & Relative Paths)
객체 직렬화 (Object Serialization)
- Serializable 인터페이스 (Serializable Interface)
- ObjectOutputStream / ObjectInputStream (Object Streams)
- transient 키워드 (Transient Keyword)
- 직렬화 vs 역직렬화 (Serialization vs Deserialization)
- JSON / XML 직렬화 (Jackson, Gson)
네트워크 프로그래밍 (Network Programming)
- Socket / ServerSocket (Socket Programming)
- URL 클래스 (URL Class)
- TCP vs UDP (Transport Protocols)
- 클라이언트-서버 모델 (Client-Server Model)
- HttpURLConnection (HTTP Connection Handling)
- REST API 호출 (REST API Calls)
애노테이션 (Annotations)
- @Override
- @SuppressWarnings
- @FunctionalInterface
- 사용자 정의 애노테이션 (Custom Annotation)
- 리플렉션을 통한 활용 (Annotation via Reflection)
리플렉션 API (Reflection API)
- Class 객체 (Class Object)
- 메서드 및 필드 접근 (Accessing Methods and Fields)
- 런타임 동적 분석 (Runtime Dynamic Analysis)
- 프레임워크 내 리플렉션 활용 예시 (Reflection in Frameworks)
모듈과 패키지 구조 (Modules & Package Structure)
- 패키지 설계 전략 (Package Design Strategy)
- 접근제어와 구조적 분리 (Access Control and Structural Separation)
- Java 9 Module System
- module-info.java 활용 (Using module-info.java)
테스트와 디버깅 (Testing & Debugging)
- JUnit 테스트 (JUnit Testing)
This post is licensed under CC BY 4.0 by the author.
