초록색 : 작업 완료
붉은색 : 미완료
Part1 The Java Language
Chapter1 The History and Evolution of Java
더보기
- Java's Lineage
- The Birth of Modern Programming C
- C++: The Next Step
- The Stage Is Set for Java
- The Creation of Java
- The C# Connection
- How Java Impacted the Internet
- Java Applets
- Security
- Portability
- Java's Magic: The Bytecode
- Moving Beyond Applets
- A Faster Release Schedule
- Servelts: Java on the Server Side
- The Java Buzzwords
- Simple
- Object-Oriented
- Robust
- Multithreaded
- Architecture-Neutral
- Interpreted and High Performance
- Distributed
- Dynamic
- The Evolution of Java
- A Culture of Innovation
Chapter2 An Overview of Java
더보기
- Object-Oriented Programming
- Two Paradigms
- Abstraction
- The Three OOP Principles
- A First Simple Program
- Entering the Program
- Compiling the Program
- A Closer Look at the First Sample Program
- A Second Short Program
- Two Control Statements
- The if Statement
- The for Looop
- Using Bolocks of Code
- Lexical Issues
- Whitespace
- Identifiers
- Literals
- Comments
- Separators
- The Java Keywords
- The Java Class Libraries
Chapter3 Data Types, Variables, and Arrays
더보기
- Java Is a Strongly Typed Language
- The Primitive Types
- Integers
- byte
- short
- int
- long
- Floating-Point Types
- float
- double
- Characters
- Booleans
- A Closer Look at Literals
- Integer Literals
- Floating-Point Literals
- Boolean Literals
- CharacterLiterals
- String Literals
- Variables
- Declaring a Variable
- Dynamic Initialization
- The Scope and Lifetime of Variables
- Type Conversion and Casting
- Java's Automatic Conversions
- Casting Incompatible Types
- Automatic Type Promotion in Expressions
- The Type promotion Rules
- Arrays
- One-Dimensional Arrays
- Multidimensional Arrays
- Alternative Array Declaration Syntax
- Introducing Type Inference with Local Variables
- Some var Restrictions
- A Few Words About Strings
Chapter4 Operators
더보기
- Arithmetic Operators
- The Basic Arithmetic Operators
- TheModulus Operator
- Arithmetic Compound Assignment Operators
- Increment and Decrement
- The Bitwise Operators
- The Bitwise Logical Operators
- The Left Shift
- The Right Shift
- The Unsigned Right Shift
- Bitwise Operator Compound Assignments
- Relational Operators
- Boolean Logical Operators
- Short-Circuit Logical Operators
- The Assignment Operator
- The ? Operator
- Operator Precedence
- Using Parentheses
Chapter5 Control Statements
더보기
- Java's Selection Statements
- if
- The Traditional switch
- Iteration Statements
- while
- do-while
- for
- The For-Each Version of the for Loop
- Local Variable Type Inference in a for Loop
- Nested Loops
- Jump Statements
- Using break
- Using continue
- return
Chapter6 Introducing Classes
더보기
- Class Fundamentals
- The General Form of a Class
- A Simple Class
- Declaring Objects
- A Closer Look at new
- Assigning Object Reference Variables
- Introducing Methods
- Adding a Method to the Box Class
- Returning a Value
- Adding a Method That Takes parameters
- Constructors
- Parameterized Constructors
- The this Keyword
- Instance Variable Hiding
- Garbage Collection
- A Stack Class
Chapter7 A Closer Look at Methods and Classes
더보기
- Overloading Methods
- Overloading Constructors
- Using Objects as Parameters
- A Closer Look at Argument Passing
- Returning Objects
- Recursion
- Introducing Access Control
- Understanding static
- Introducing final
- Arrays Revisited
- Introducing Nested and Inner Classes
- Exploring the String Class
- Using Command-Line Arguments
- Varargs: Variable-Length Arguments
- Overloading Vararg Methods
- Varargs and Ambiguity
- Local Variable Type Inference with Reference Types
Chapter8 Inheritance
더보기
- Inheritance Basics
- Member Access and Inheritance
- A More Practical Example
- A Superclass Variable Can Reference a Subclass Object
- Using super
- Using super to Call Superclass Constructors
- A Second Use for super
- Creating a Multilevel Hierarchy
- When Constructors Are Executed
- Method Overriding
- Dynamic Method Dispatch
- Why Overridden Methods?
- Applying Method Overriding
- Using Abstract Classes
- Using final with Inheritance
- Using final to Prevent Overriding
- Using final to Prevent Inheritance
- Local Variable eType Inference and Inheritance
- The Obejct Class
Chapter9 Packages and Interfaces
더보기
- Packages
- Defining a Package
- Finding Packages and CLASSPATH
- A Short Package Example
- Pacakages and Member Access
- An Access Example
- Importing Packages
- Interfaces
- Defining an Interface
- Implementing Interfaces
- Nested Interfaces
- Applying Interfaces
- Variables in Interfaces
- Interfaces Can Be Extended
- Default Interface Methods
- Default Method Fundamentals
- A More Practical Example
- Multiple Inheritance Issues
- Use static Methods in an Interface
- Private Interface Methods
- Final Thoughts on Packages and Interfaces
Chapter10 Exception Handling
더보기
- Exception-Handling Fundamentals
- Exception Types
- Uncaught Exceptions
- Using try and catch
- Displaying a Description of an Exception
- Multiple catch Clauses
- Nested try Statements
- throw
- throws
- finally
- Java's Built-iin Exceptions
- Creating Your Own Exception Subclasses
- Chained Exceptions
- Three Additional Exception Features
- Using Exceptions
Chapter 11 Multithreaded Programming
더보기
- The Java Thread Model
- Thread Priorities
- SynChronization
- Messaging
- The Thread Class and the Runnable Interface
- The Main Thread
- Creating a Thread
- Implementing Runnable
- Extending Thread
- Choosing an Approach
- Creating Multiple Threads
- Using isAlive() and join()
- Thread Priorities
- Synchronization
- Using Synchronized Methods
- The synchronized Statement
- Interthread Communication
- Deadlock
- Suspending, Resuming, and Stopping Threads
- Obtaining a Thread's Stte
- Using a Factory Method to Create and Start a Thread
- Using MultiThreading
Chapter12 Enumerations, Autoboxing, and Annotations
더보기
- Enumerations
- Enumeration Fundamentals
- The values() and valueOf() Methods
- Java Enumerations Are Class Types
- Enumerations Inherit Enum
- Another Enumeration Example
- Type Wrappers
- Character
- Boolean
- The Numeric Type Wrappers
- Autoboxing
- Autoboxing and Methods
- Autoboxing/Unboxing Occurs in Expressions
- Autoboxing/Unboxing Boolean and Character Values
- Autoboxing/Unboxing Helpes Prevent Errors
- A Word of Warning
- Annotations
- Annotation Basics
- Specifying a Retention Policy
- Obtaining Annotations at Run Time by Use of Reflection
- The AnnotatedElement Interface
- Using Default Values
- Marker Annotations
- Single-Member Annotations
- The Built-In Annotations
- Type Annotations
- Repeating Annotations
- Some Restrictions
Chapter 13 I/O, Try-with-Resources, and Other Topics
더보기
- I/O Basics
- Streams
- Byte Streams and Character Streams
- The Predefined Streams
- Reading Console Input
- Reading Characters
- Reading Strings
- Writing Console Output
- The PrintWriter Class
- Reading and Writing Files
- Automatically Closing a File
- The transient and volatile Modifiers
- Introducing instanceof
- strictfp
- Native Methods
- Using assert
- Assertion Enabling and Disabling Options
- Static Import
- Invoking Overloaded Constructors Through this()
- A Word About Value-Based Classes
Chapter14 Generics
더보기
- What Are Generics?
- A Simple Generics Example
- Generics Work Only with Reference Types
- Generic Types Differ Based on Their Type Arguments
- How Generics Improve Type Safety
- A Generic Class with Two Type Parameters
- The General Form of a Generic Class
- Bounded Types
- Using Wildcard Arguments
- Bounded Wildcards
- Creating a Generic method
- Generic Constructors
- Generic Interfaces
- Raw Types and legacy Code
- Generic Class Hierarchies
- Using a Generic Superclass
- A Generic Subclass
- Run-Time Type Comparisons Within a Generic Hierarchy
- Casting
- Overriding Method in a Generic Class
- Type Inference with Generics
- Local Variable Type Inference and Generics
- Erasure
- Bridge methods
- Ambiguity Errors
- Some Generic Restrictions
- Type Parameters Can't Be Instantiated
- Restrictions on Static Members
- Generic Array Restrictions
- Generic Exception Restriction
Cahpter15 Lambda Expressions
더보기
- Introducing Lambda Expressions
- Labmda Expression Fundamentals
- Functional Interfaces
- Some Lambda Expression Examples
- Block Lambda Expressions
- Generic Functional Interfaces
- Passing Lambda Expressions as Arguments
- Lambda Expressions and Exceptions
- Lambda Expressions and Variable Capture
- Method References
- Method References to static Methods
- Method References to Instance Methods
- Method References with Generics
- Constructor References
- Predefined Functional Interfaces
Chapter 16 Modules
더보기
- Module Basics
- A Simple Module Example
- Compile and Run the First module Example
- A Closer Look at requires and exports
- java.base and the Platform Modules
- Legacy Code and the Unnamed Module
- Exporting to a Specific Module
- Using requires transitive
- Use Services
- Service and Service Provider Basics
- The Service-Based Keywords
- A Module-Based Service Example
- Module Graphs
- Three Specialized module Features
- Open Modules
- The opens Statement
- requires static
- Introducing jlink and Module JAR Files
- Linking Files in an Exploded directory
- Linking Modular JAR Files
- JMOD Files
- A Brief Word About Layers and Automatic Modules
- Final Thoughts on Modules
Chapter17 Switch Expressions, Records, and Other Recently Added Features
더보기
- Enhancements to switch
- Use a List of case Constants
- Introducing the switch Expression and the yield Statement
- Introducing the Arrow in a case Statement
- A Closer Look at the Arrow case
- Another switch Expressions Example
- Text Blocks
- Text Block Fundamentals
- Understanding Leading Whatespace
- Use Double Quotes in a Text Block
- Escape Sequences in Text Blocks
- Records
- Record Basics
- Create Recored Constructors
- Another Record Constructor Example
- Create Record Getter Methods
- Pattern Matching with instanceof
- Pattern Variables in a Logical AND Expression
- Pattern Matching in Other Statements
- Sealed Classes and Interfaces
- Sealed Classes
- Sealed Interfaces
- Future Directions
'JAVA' 카테고리의 다른 글
정수리터럴, 부동소수점 리터럴 [코딩백과 with JAVA] (1) | 2024.12.20 |
---|---|
리터럴과 원시 타입 변수 초기화 [코딩백과 with JAVA] (0) | 2024.12.20 |
원시 타입 변수란? [코딩백과 with Java] (0) | 2024.12.20 |
자바 변수 이해하기 - 코딩백과 with JAVA (0) | 2024.12.20 |
Java 클래스 정의에 대해 알아보기 (1) | 2024.12.17 |