I. 객체지향 프로그래밍 OOP : Object Oriented Programming
- 현실에 있는 객체들을 프로그램으로 표현하기 위한 기법.
- 현실 세계의 객체를 만드는데 필요한 설계도를 클래스로 나타내고, 해당 클래스를 바탕으로 인스턴스를 생성하여 사용하는 방법.
II. A P I E
1) A (Abstraction) - 추상성
- 추상메서드
: 메서드 구현부가 없는 메서드.
접근제한자 abstract 리턴타입 메서드명( ); // 중괄호가 없다. - 추상클래스
: 인스턴스 생성이 불가능한 클래스.
- 상속을 통해 서브클래스에소 추상메서드를 구현하도록 강제하는 용도로 주로 사용한다.
abstract class 클래스명{. . .}
- 인스턴스 생성은 불가능하지만, 참조변수 타입으로는 사용가능하다. => 다형성 적용 가능
abstract class Shape {
public abstract void draw( ) ;
}
2) P (Polymorphism) - 다형성
- 하나의 슈퍼클래스 타입으로 여러 서브클래스와 인스턴스를 참조하는 것.
- 코드상의 메서드와, 컴파일 후 실행시점에서 실행되는 메서드가 달라지는것.
- 서브클래스에서 오버라이딩 된 메서드가 존재하는 경우, 업캐스팅 후에도 오버라이딩 된 메서드가 호출된다.
=> 즉, 메서드 호출시 참조타입이 무엇인지는 중요하지 않고, 실제 인스턴스가 무엇인지가 중요하다.
3) I (Inheritance) - 상속성
- 부모로부터 자식이 모든 멤버(변수, 메서드)를 물려받아 선언없이 사용하는 것.
4) E (Encapsulation)- 은닉성(캡슐화)
- 작업의 상세한 내부 구조를 외부로부터 숨기고, 단순히 메시지(메서드 호출) 를 통해 테이터를 주고 받는것.
- private 접근제한자와 Getter/ Setter 메서드 활용.
'개발자 양성과정 필기노트 > JAVA' 카테고리의 다른 글
싱글톤 디자인 패턴 / final / 상수 (0) | 2021.09.14 |
---|---|
Static (0) | 2021.09.14 |
배열 (0) | 2021.08.12 |
While문 (0) | 2021.08.10 |
switch문 (0) | 2021.08.03 |
댓글