[Java] 객체지향 (1) 객체지향 프로그래밍

lkc9898·2022년 5월 16일

Java

목록 보기
11/25
post-thumbnail

객체지향 프로그래밍(OOP)이란

Object Oriented Programming의 약자로, 프로그램밍에서 필요한 데이터를 한데 모아 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 특정 기능을 구성하는 프로그래밍 방법이다.

객체지향 프로그래밍의 특징

  • 추상화(abstraction)
    불필요한 부분을 생략하고 객체 속성 중 공통적이고 중요한 것들만 가져와 단순화한다.
  • 캡슐화(encapsulation)
    제공자와 이용자를 명확히 분리하며 이용자가 데이터에 직접 접근하는 것을 차단하여 보안적인 기능에 도움을 주고, 객체 내 데이터 구조가 바뀌어도 다른 객체에 영향을 주지 않는다.
  • 상속성(inheritance)
    개별 클래스를 상속 관계로 묶음으로써 클래스 간의 체계화된 전체 구조를 파악하기 쉽고, 코드의 재사용성과 새로운 클래스, 데이터, 메서드를 추가하기 용이하며 데이터와 메서드를 변경할 때 상위에 있는 것만 수정하여 유지보수가 용이하다.
  • 다형성(polymorphism)
    메시지에 의해 개체가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 특성으로 다른 여러 형태로 재구성되는 것

왜 사용하는가

  • 재사용성
    이미 만들어진 클래스를 가져와 이용할 수 있고 상속을 통해 확장 사용이 가능하다.
  • 유지 보수
    상속을 통한 수정, 추가가 용이하며 캡슐화로 그 함수의 세부정보가 은폐되어 있어 주변에 미치는 영향을 최소화한다.
  • 대형 프로젝트에 적합
    면밀한 자료분석, 개발 시간 단축, 좀 더 복잡한 코딩이 가능하고 클래스 단위로 모듈화 시켜 개발할 수 있으므로 업무 분담이 쉽다.

0개의 댓글