[Java] 객체지향 프로그래밍(OOP, Object Oriented Programming)

hwarye·2022년 11월 3일
0

객체(Object) : '모든 실재(實在)하는 어떤 대상'을 부르는 프로그래밍 언어.
=> 즉, 우리가 보고 느끼고 인지할 수 있는 모든 것.

현실에서의 객체 : 실재하는 모든 것.(추상적인 개념까지)
프로그래밍에서의 객체 : 어떠한 대상에 속성과 기능을 하나로 묶은 것.

객체지향이론 핵심 개념
: " 실제 세계는 이러한 객체들로 구성되어 있으며, 발생하는 모든 사건들은 이 객체들 간의 상호작용을 통해 발생한다." 는 전제로부터 출발한다.

프로그래밍 방법론

  • 절차적 프로그래밍
    : 일련의 명령어들의 나열을 통해 컴퓨터에게 말을 건네는 방식.
  • 객체지향적 프로그래밍
    : 프로그래밍에서 필요한 데이터를 한 데 모아 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 협력과 유기적인 상호작용을 통해 특정 기능을 구성하는 방식.
    즉, 실제 사물의 속성(state)과 기능(behavior)을 분석한 후에 이것을 프로그래밍의 변수와 함수로 정의함으로 실제 세계를 최대한 컴퓨터 프로그래밍에 반영하고자 하는 시도.

객체는 클래스로 만든다.
클래스를 만든다 = 클래스를 정의한다.
=> 객체는 클래스를 정의해서 만든다.

어떤 클래스를 통해 만들어진 객체 = 인스턴스

  • 객체지향프로그래밍으로 코드 간의 결합도를 낮출 수 있다.

객체 vs 인스턴스
객체 : 일반적인 개념
인스턴스 : 그 객체의 출신을 강조하는, 조금은 더 구체적인 의미를 지닌다.

클래스는 결국 객체를 만들기 위함이므로 객체에 맞춰 만들어야 한다....

profile
례코드

0개의 댓글