객체지향프로그래밍이란?

이재은·2025년 4월 10일

객체지향프로그래밍

:Object-Oriented Programming (OPP)
컴퓨터 프로그래밍의 패러다임 중 하나이다.
프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.

여기서 객체 지향 프로그래밍의 특징을 4가지로 나눌 수 있는데
추상화, 상속, 캡슐화, 다형성이리고 할 수 있다.

추상화

데이터들을 '추상화' 시켜 집단에 속하는 속석과 행위를 변수와 메서드로 정의한 것을 클래스(공통의 속성이나 기능을 묶어 이름을 붙이는 것)라고 하고, 클래스에서 정의한 것을 토대로 실제 메모리에 할당된 것이 실제 프로그램으로 사용되는 데이터가 객체이다.

캡슐화

기능과 특성의 모음을 클래스라는 캡슐에 넣는 것이 캡슐화이다.
캡슐화의 목적은 크게 2가지가 있는데,
1. 코드를 재수정없이 재활용하는 것.
2. 접근 제어자를 통한 정보 보호, 은닉
이다.

상속

기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소를 의미한다.
클래스들 간 공유하는 속성과 기능들을 반복적으로 정의할 필요 없이 딱 한 번만 정의해두고 간편하게 재사용할 수 있어 반복적인 코드를 최소화하고 공유하는 속성과 기능에 간편하게 접근

다형성

어떤 객채의 속성이나 기능이 상황에 따라 여러 가지 형태를 가질 수 있는 성질을 의미.
대표적으로 매서드 오버라이딩과 매서드 오버로딩이 있다.

객체 지향 프로그래밍의 언어

smalltalk(최초의 OPP지원 프로그램), Ruby, Python, C언어, C++, Java 등이 있다.

객체 지향 프로그래밍의 장단점

장점

  • 캡슐화로 인해 업무 분담이 편리하다
  • 클래스 단위로 수정이 가능하기 때문에 유지 보수가 편리하다.
  • 재사용이나 상속을 통해 확장함으로써 코드 재사용이 용이하다.
  • 단점

  • 설계시 많은 시간과 노력이 필요하다.
  • 객체의 수가 많아질경우 용량이 커질 수 있다.
  • profile
    조각 레몬

    0개의 댓글