코진남

클래스와 객체란? 객체와 인스턴스? 본문

BackEnd/JAVA

클래스와 객체란? 객체와 인스턴스?

woojin126 2022. 2. 5. 23:24

클래스란 '객체를 정의해놓은 것' 또는 클래스는 '객체의 설게도 또는 틀' 이라고 할 수 있다. 클래스는 객체를 생성하는데 사용되고, 객체는 클래스에 정의된 대로 생성된다.

  • 클래스의 정의 클래스란 객체를 정의해 놓은 것이다.
  • 클래스의 용도 클래스는 객체를 생성하는데 사용된다.

겍체의 사전적인 정의는, '실제로 존재하는 것'이다. 우리가 주변에서 볼 수 있는 책상, 의자, 자동차와 같은 사물들이 곧 객체이다. 객체지향이론에서는 사물과 같은 유형적인 것 뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다.

프로그래밍에서는 객체는 클래스에 정의된 내용되로 메모리에 생성이 된 것을 말한다.

  • 객체의 정의 실제로 존재하는 것, 사물 또는 개념
  • 객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다르다
  • 유형의 객체 책상,의자,자동차,Tv와 같은 사물
  • 무형의 객체 수학공식, 프로그램 에러와 같은 논리나 개념

우리가 TV를 보기 위해서는, TV(객체)가 필요한것이지 TV설계도(클래스)가 필요한 것은 아니다. TV설계도는(클래스)는 단지 TV라는 제품(객체)를 만드는데 사용될 뿐이다.

클래스를 정의하고 클래스를 통해 객체를 생성하는 이유는 설계도를 통해서 제품을 만드는 이유와 같다. 하나의 설계도만 잘 만들어 놓으면 제품을 만드는 일이 쉬워진다. 제품을 만들 때마다 매번 고민할 필요없이 설계도대로만 만들면 되기 때문이다.

마찬가지로 클래스를 한번만 잘 만들어 놓기만 하면, 매번 객체를 생성할 때마다 어떻게 객체를 만들어야 할지 고민하지 않아도 된다.

객체와 인스턴스

  • 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며, 어떤 클래스로 부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.
    • 예를 들면, Tv클래스로부터 만들어진 객체를 Tv클래스의 인스턴스라고 한다.
   인스턴스  

화클래스 → 인스턴스(객체)

객체의 구성요소 -속성과 기능

  • 객체는 속성과 기능, 두 종류의 구성요소로 이루어져 있으며, 일반적으로 객체를 다수의 속성과 다수의 기능을 갖습니다. 즉, 객체는 속성과 기능의 집합이라고 할 수 있습니다. 그리고 객체가 갖고있는 속성과 기능을 (맴버의 구성원) 이라고 합니다.

속성(Property) 맴버변수(member variable), 특성(attribute), 필드(field), 상태(state)
기능(function) 메서드(method),함수(function),행위(behavior)