ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 객체지향 프로그래밍(Object Oriented Programming) 네가지 주요특징
    ■ 아빠 프로그래밍/기본개념 2017. 8. 19. 09:39
    반응형





    객체지향 프로그래밍(Object Oriented Programming)

    네가지 주요특징


    1) 상속(Inheritance)

    상위클래스(Parent, Super, Base)

    하위클래스(Child, Sub, Derived)


    상위클래스의 특징을 하위클래스가 모두 물려받는 것

    하위클래스는 상위클래스가 가지고 있는 맴버변수와 메소드를 모두 물려받아 사용할 수 있다.

    이 관계를 상속관계에 있다. 계층구조가 형성되어있다. 라고 한다.


    상속에 의해 오버로딩, 오버라이딩, this등의 다양한 문법들이 생겼다.


    2) 캡슐화(Encapsulation)

    실제 기능은 숨기고, 접근할 방법만 노출하는 것을 말한다.

    캡슐화로 알 필요가 없는 정보를 숨겨 프로그램의 복잡도를 제어할 수 있는데,

    이러한 기능을 은닉성(Hidden)이라고 한다.


    자바에서는 캡슐화를 위해 네가지의 접근제한자를 제공한다.

    private - 외부 객체에서 접근 불가

    default - 같은 패키지의 객체만 접근 가능

    protected - 상속관계의 객체만 접근가능 일반객체는 접근 불가

    public - 모든 객체에서 접근가능


    3) 추상화(Abstraction)

    객체의 공통적인 특징을 뽑아내는 과정


    추상화 과정

    - 객체들의 공통적인 개념 추출

    - 추출한 개념을 이용하여 최소한의 기능을 가진 상위 개념의 객체를 만든다.

    - 나머지 객체는 상위개념의 객체를 상속받아 구현하는 형태로 변경


    추상화는 다향성을 구현하기 위한 기법으로 활용된다.


    4) 다형성(Polymorphism)

    객체가 여러가지 형태를 가질 수 있다는 뜻이다.

    상속관계의 경우 부모는 모든 자식을 포함하는 큰 개념이므로 상위 클래스 타입의 변수로 하위 클래스 타입의 모든 객체를 참조할 수 있다.


    다형성을 이용해 코드를 작성하면, 새로운 하위 클래스를 추가하더라도 기존의 코드를 변경할 필요가 없다.



    반응형
Designed by Tistory.