객체 지향의 4가지 특징 OOP란 무엇일까?

임세현·2021년 12월 21일
1

객체 지향 언어의 4대 특징


1. 캡슐화 (Encapsulation)

  • 캡슐화는 객체지향에서 데이터 구조와 데이터를 다루는 방법을 결합시켜 묶는다.
  • 데이터를 은닉하고 그 데이터를 접근하는 기능을 노출시키지 않는다는 의미이다.

접근 제어 지시자

  • public : 모두가 접근 가능
  • protected : 상속 / 같은 패키지 내 클래스에서 접근 가능
  • proivate : 본인만 접근 가능

2. 상속 (Inheritance)

  • 상속이란 상위개념의 특징을 하위 개념이 물려받는 것을 의미한다. 하나의 클래스가 가지고 있는 특징 (데이터와 함수)들을 그래도 다른 클래스가 물려주고자 할 때 상속의 특징을 사용한다.
  1. 코드의 재사용성을 증대 시킬 수 있다. -> 같은 기능을 또 구현 할 필요가 없다.
  2. 좀 더 폭넓게 사용 간으하다. 상속 받은 함수를 추가적으로 데이터와 함수 내용을 변경할 수 있다.

3. 추상화 (Abstraction)

  • 추상화란 객체들의 공통적인 특징(속성과 기능)을 뽑아내는 것이다.
    -> 이는 구현하는 객체들이 가진 공통적인 데이터와 기능을 도출해 내는 것을 의미한다.

4. 다양성 (Polymorphism)

  • 다향성이란 다양한 형태로 표현이 가능한 것을 의미한다.

오버라이딩(Overrideing)

  • 같은 메서드 이름 / 같은 인자 목록 / 상위 클래스의 메서드를 재정의한다.
    상위 클래스 타입의 객체 참조 변수에서 자동으로 하위 클래스가 오버라이딩한 메소드를 호출해 준다.

오버로딩(Overroding)

  • 같은 메서드 이름 / 다른 인자 목록 / 다수의 메서드 중복 정의한다.
profile
android developer

0개의 댓글