상세 컨텐츠

본문 제목

클래스, 객체 , 인스턴스의 차이

프로그램 언어/JAVA

by 알케이88 2019. 11. 24. 01:31

본문

클래스, 객체, 인스턴스의 개념

클래스(Class)란?

    º개념

           ·  객체를 정의하고 만들어 내기 위한 설계도 혹은 틀

           ·  연관되어 있는 변수와 메서드의 집합

    º특징

           ·  객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성된다.

           ·  필드(field)란 클래스에 포함된 변수(variable)를 의미한다.

           ·  메소드(method)란 어떠한 특정 작업을 수행하기 위한 명령문의 집합

 

객체(Object)란?

    º개념

           ·  소프트웨어 세계에 구현할 대상

           ·  클래스에 선언된 모양 그대로 생성된 실체

    º특징

           ·  '클래스의 인스턴스(instance)' 라고 부른다.

 

인스턴스(Instance)란?

    º개념

           ·  설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체

              ·  즉, 객체를 소프트웨어에 실체화 하면 그것을 '인스턴스'라고 부른다.

              ·  실체화된 인스턴스는 메모리에 할당된다.

    º특징

           ·  인스턴스는 객체에 포함된다고 볼 수 있다.

           ·  oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 '인스턴스'라고 부른다.

           ·  추상적인 개념(또는 명세)과 구체적인 객체사이에 초점을 맞출 경우에 사용한다.

           ·  즉, 인스턴스라는 용어는 반드시 클래스와 객체 사이의 관계로 한정지어서 사용할 필요는 없다.

           ·  인스턴스는 어떤 원본(추상적인 개념)으로 부터 '생성된 복제본'을 의미한다.

 

 

※OOP(Object-Oriented Programming) 객체 지향 프로그래밍

 

   ☆ 모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심이다.

 

   ☆ 객체(object)란 간단히 이야기 하자면 실생활에서 우리가 인식할 수 있는 있는 사물로 설명할 수 있다.

       이`러한 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍

 

 

/* 클래스 */
public class Animal{
	...
}

public class Main {
	public static void main(String[] args) {
    	Animal cat, dog; //객체
        
        cat = new Animal(); //Animal 이라는 클래스에 cat 이라는 인스턴스(메모리에 할당)
        dog = new Animal(); //Animal 이라는 클래스에 dog 이라는 인스턴스(메모리에 할당)
    }
}
    

클래스 vs 객체 vs 인스턴스

 

클래스 vs 객체

※  클래스는 설계도, 객체는 설계도로 구현한 대상 을 의미한다.

 

객체 vs 인스턴스

※ 객체: 클래스의 타입으로 선언되었을때

※ 인스턴스: 메모리에 할당되어 실제 사용될때

 

 

'프로그램 언어 > JAVA' 카테고리의 다른 글

예약어  (0) 2019.12.01
기본 자료형  (0) 2019.11.24
JAVA 변수의 종류 (기본형, 참조형, 상수)  (0) 2019.11.23
접근 지정자 (private, public, protected, default)  (0) 2019.11.23
자바 변수와 자료형  (0) 2019.11.22

관련글 더보기

댓글 영역