객체 지향 4가지 특성

노혁·2023년 7월 14일
1
post-thumbnail

What is OOP?

OOP는 프로그래밍 패러다임 중 하나로, 컴퓨터 프로그램을 객체들의 모임으로 바라보고 객체들 간의 상호작용으로 서술하는 방식입니다. 객체들의 유기적인 협력과 결합을 통해 좀 더 유지보수와 확장성이 용이한 프로그램을 만들 수 있습니다.

4가지 특성

객체(Obejct)란?

“모든 실제하는 대상”을 객체 지향 프로그래밍 언어에서는 객체라고 부릅니다.
예를 들어 지금 여러분 옆에 있는 휴대폰, 물컵 등 여러 사물이나 사람들 모두를 하나의 객체라 볼 수 있습니다.

1. 캡슐화 (Encapsulation)

  • 특정 객체가 독립적으로 역할을 제대로 수행하기 위해 필요한 데이터와 기능을 하나로 묶은 것(모듈화의 의미)
  • 데이터를 은닉하고 데이터를 접근하는 기능을 노출시키지 않는다는 의미이다.

접근 제어자

public - 모두가 접근 가능
protected - 클래스, 패키지, 상속
private - 클래스(본인만 접근 가능)

2. 추상화 (Abstraction)

  • 추상화란 객체들의 공통적인 특성(속성과 기능)을 뽑아내는 것이다.

→ 객체들이 가진 공통적인 데이터와 기능을 도출해 내는 것을 의미한다.

3. 상속 (Inheritance)

  • 상위 개념의 특징을 하위 개념이 물려받는 것
  • 같은 기능을 또 구현 할 필요가 없어서 코드의 재사용성을 늘릴 수 있다.
  • 좀 더 폭넓게 사용 가능하다. 상속 받은 함수를 추가적으로 데이터와 함수 내용을 변경할 수 있다.

4. 다형성 (Polymorphism)

  • 다형성이란 다양한 형태로 표현이 가능한 것을 의미한다.
  • 극대화 하기 위해 추상클래스나 인터페이스를 이용한다.

‼️ 오버라이딩(Overriding)

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

‼️ 오버로딩(Overroding)

  • 같은 메서드 이름 / 다른 인자 목록 / 다수의 메서드 중복 정의 한다.
profile
백엔드 개발자입니다.

0개의 댓글