본문 바로가기
JAVA/언어입문

자바(JAVA) - 객체지향 프로그래밍(OOP)

by Sunyoung95 2022. 3. 9.
객체지향 프로그래밍 (Object Oriented Programming, OOP)

  • 객체를 기반으로 하는 프로그래밍
    • 순서 상관없이 각 객체별로 독립적 사용이 가능하며 하나의 객체가 오류가 날지라도 다른 객체에게 영향을 주지않는다. 
    • 더보기
      시작기준에서 순서대로 진행이 된다. 순서가 틀려도 안되고 한 부분에 오류가 나면 그 다음 부분 전체가 마비가 되는 순차적인 처리가 중요한 방식
      언어 : c언어
    • 객체(인스턴스)
      • 구체적, 추상적 데이터 단위
      • 클래스에서 정의한 것을 토대로 실제 메모리에 할당된 것
  • 객체를 정의 → 객체의 기능구현 → 객체사이의 협력구현
  • 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
  • 장점
    • 코드 재사용이 용이 : 다른사람의 클래스를 가져와서 이용할 수 있고 상속을 통해 확장도 가능
    • 유지보수가 쉽다 : 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아서 수정해야하지만 OOP의 경우 수정해야 할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 됨
    • 대형 프로젝트에 적합 : 클래스 단위로 모듈화시켜서 개발할 수 있으므로 대형 프로젝트처럼 여러 명, 여러 회사에서 프로젝트를 개발할 때 업무 분담하기 쉽다. 
  • 단점
    • 처리 속도가 상대적으로 느림
    • 객체가 많으면 용량이 커질 수 있다.
    • 설계시 많은 시간과 노력이 필요
  • 구성요소
    • 클래스(Class)
    • 객체(Object)
    • 메서드(Method)
    • 기타 속성

출처

https://jeong-pro.tistory.com/95

 

객체 지향 프로그래밍이 뭔가요? (꼬리에 꼬리를 무는 질문 1순위, 그놈의 OOP)

객체 지향 프로그래밍(Object Oriented Programming) 여러 소프트웨어 관련 IT기업 신입사원 기술면접에서 면접자들 긴장을 풀어줄 겸 워밍업으로 자주 나오는 질문이다. "객체 지향 프로그래밍에 대해

jeong-pro.tistory.com

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=ki 

 

댓글