The Java Tutorials have been written for JDK 8
1. Object-Oriented Programming Concepts
What Is an Object?
- 모델이 가진 상태와 행동의 번들입니다.
- 현실세계의 물체를 소프트웨어 세계의 물체로 모델링해서 사용합니다.
- 현실세계의 물체도 상태와 행동을 가집니다.
state
- 객체가 가지고 있는 내부 상태값을 의미합니다.
method
- 객체의 행동을 메서드라 부릅니다.
- 내부 상태의 조작을 기반으로 동작합니다.
- 오브젝트 간 커뮤니케이션 매커니즘
- 다른 오브젝트로부터 노출시키므로써 인터렉션이 가능합니다.
- 캡슐화
- 바깥에서 직접적으로 내부 상태를 접근하지 못하게 하는 기능
- 묵시적 형변환
- 결과를 받을 때
- 파라미터로 전달할 때
- variable arguments (...)
- 동일 타입의 인자가 몇 개 들어올 지 예상할 수 없을 때 사용합니다.
- 넘겨준 값의 개수에 따라 자동으로 배열이 초기화 됩니다.
장점
- 모듈화
- 정보 은닉
- 메서드를 통한 커뮤니케이션 메커니즘으로 밖으로부터 내부 상태를 숨길 수 있다
- 재사용성
- pluggable
- 디버깅 용이
What Is an Class?
- Object의 blueprint를 뜻합니다.
- Class를 구체화하여 Object를 생성합니다.
- 매번 설계도를 작성하지 않고 미리 정의하여 객체를 생성합니다.
- Object는 Heap 메모리에 생성됩니다.
구성
- 멤버 변수
- 멤버 메서드
What Is Inheritance?
- 객체들끼리 공통적으로 가지는 상태나 메서드를 슈퍼 클래스로부터 물려받을 수 있는 기능입니다.
- 다른 종류의 오브젝트더라도 공통된 성질을 가질 수 있습니다.
- 자식의 수는 제한이 없습니다.
What Is Interface?
- 오브젝트가 외부와 통신하는데 사용되는 명세를 정의하는 계약입니다.
- 인터페이스를 가진 클래스는 반드시 인터페이스 메서드를 정의해야 합니다. (컴파일러에 의해 체크됩니다)
What Is Package?
- 관련 클래스 및 인터페이스가 조직된 네임스페이스 입니다.
출처
'Java' 카테고리의 다른 글
[Java][Tutorial] 3-3. Collections: Aggregate Operations (0) | 2023.10.20 |
---|---|
[Java][Tutorial] 3-2. Collections: Queue, Deque, Map (0) | 2023.10.15 |
[Java][Tutorial] 3-1. Collections: Collection, Set, List (2) | 2023.10.15 |
[Java][Tutorial] 2-1. Essential Java Classes: Exceptions (0) | 2023.10.15 |
[Java][Tutorial] 1-4. Learning the Java Language: Annotation (0) | 2023.10.15 |