본문 바로가기
개발자 양성과정 필기노트/JAVA

JAVA 객체지향개념

by jono 2021. 9. 2.

     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

댓글