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

  • 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 갖는 객체를 만들고 그 객체들간의 유기적인 상호 작용을 통해 로직을 구성하는 프로그래밍 방법

객체지향 장점

  • 코드 재사용 용이
    • 남이 만든 클래스를 가져와서 이용할수 있고 상속을 통해 확장해서 사용할 수 있음
  • 유지보수가 쉬움
    • 절차지향 프로그래밍에서는 코드를 수정할떄 일일이 찾아 수정 해야하는 반면 객체지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버변수 혹은 메서드로 있기 떄문에 해당 부분만 수정하면됨
  • 대형 프로젝트에 적합
    • 클래스 단위로 모듈화시켜서 개발할 수 있음으로 대형 프로젝트 처럼 여러명, 여러 회사에서 개발시 업무 분담이 쉽다.

객체지향 단점

  • 처리속도가 상대적으로 느림

    • 객체가 많으면 용량이 커질수 있음
    • 설계시 많은 시간과 노력이 필요
  • 클래스

    • 어떤 문제를 해역ㄹ 하기 위한 데이터를 만들기위해 추상화를 거쳐 집단에 속하는 속성과 행위를 변수와 메서드로 정의한것
  • 인스턴스(객체)

    • 클래스에서 정의한것을 토대로 실제 메모리상에 할당된 것

+ Recent posts