본문 바로가기
Develop/Java

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

by 루시킴 2021. 10. 31.

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

프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고, 객체들 간의 상호작용을 통해 프로그램을 설계하고 개발하는 것

 

객체지향 언어의 특징

  1. 캡슐화
  2. 다형성
  3. 상속
  4. 추상화 : 여러 객체들의 공통적 특징을 묶는 것

객체지향 언어의 장/단점

장점

  • 상속을 통해 코드의 재사용성을 높임
  • 독립적인 객체들을 사용하므로 개발의 생산성을 향상 시킴
  • 절차 지향 프로그래밍은 코드 수정시 일일히 찾아서 변경해야하지만, 객체 지향 프로그래밍은 클래스 내부의 메서드나 멤버변수만 수정하면 되므로 코드 수정이 용이
  • 클래스 단위로 모듈화 시켜서 개발이 가능하므로 대형 프로젝트에 적합

단점

  • 절차 지향 프로그래밍은 컴퓨터 처리 구조와 비슷해 속도가 빠르지만 객체 지향은 처리 속도가 상대적으로 느림
  • 클래스/객체 별로 설계하고 여러 구조 또한 설계해야하므로 많은 시간과 노력이 필요

'Develop > Java' 카테고리의 다른 글

[JAVA] 오버로딩 VS 오버라이딩  (0) 2021.10.31
[JAVA] 캡슐화 & 다형성 & 상속  (0) 2021.10.31
[JAVA] 코딩테스트 자주 사용하는 함수  (0) 2021.10.16
[JAVA] List Collection  (0) 2021.10.04
[JAVA] 자바란?  (0) 2021.10.04

댓글