☕Java 객체지향 프로그래밍

hamsang·2022년 5월 7일
0

Java

목록 보기
3/36
post-thumbnail

OOP 객체지향 프로그래밍

Object-Oriented Programming

문제를 여러 개의 독립된 단위인 '객체' 단위로 나누어 만들고 하나씩 조립, 연결하여 (각각의 객체들은 유기적으로 상호작용) 전체의 프로그램을 완성하는 방식이다. 명령어의 나열 순서대로 작동하는 절차지향 프로그래밍과 반대되는 개념이다.

객체 : 세상에 존재하는 모든것, 프로그래밍에서의 객체는 데이터의 분산을 막기 위해 데이터와 기능을 하나로 묶은 그룹


💻 OOP의 장점

  • 코드 재사용성 증가
    상속을 통해 프로그래밍시 코드의 재사용을 높일 수 있음
  • 생산성 향상
    잘 설계된 클래스를 만들어 독립적인 객체를 사용함으로써 개발의 생산성을 향상시킨다. 효율적인 개발 가능.
  • 자연적 모델링 가능
    일상생활의 구조가 객체지향 개념에 잘 녹아들어 생각하는 것을 자연스럽게 구현할 수 있다.

  • 유지보수의 우수성
    캡슐화를 통해 프로그램 수정시 주변의 영향이 적어 유지보수가 쉽다.

💻 OOP의 단점

  • 개발 속도가 느리다
    객체가 처리하려는 것에 대한 정확한 이해가 필요해 설계 단계부터 많은 시간이 소모된다.
  • 실행속도가 느리다

  • 난이도 상승
    다중 상속이 지원되는 언어인 경우 코드가 복잡해진다

✨ OOP의 기본 용어

(자동차를 예시로 한다)

클래스(Class) : 객체를 만들어 내기 위한 설계도 혹은 틀. 자동차의 설계도

인스턴스(Instance) : 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체

객체(Object) : 설계도로 구현한 모든 대상. 클래스 타입으로 선언되었을 때는 객체라고 부르고, 그 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라고 부른다.

메서드(Method) : 기능

클래스 메서드(Class Method) : 클래스에 속하지만 특정 인스턴스에 묶이지는 않는 기능. 시동을 거는 기능은 클래스 메서드이다.

생성자(Constructor) : 인스턴스를 새로 만들 때는 생성자 실행. 생성자는 객체 인스턴스를 초기화.


profile
햄생

0개의 댓글

관련 채용 정보