[Java] 클래스, 객체, 인스턴스

node·2024년 6월 14일
0
post-thumbnail

들어가며


객체지향프로그래밍에 대해 공부하면 가장 먼저 나오는 단어들인 클래스, 객체, 인스턴스. 이것들에 대해 설명하자니 머릿속에서 확실한 설명이 입밖으로 나오지 않아 내용을 정리해보려 한다.

본론


클래스

: 객체를 만들기 위한 설계도 혹은 템플릿으로 객체의 속성 또는 메서드를 정의해 놓는 틀이다.
ex) 붕어빵을 만들기 위한 붕어빵틀

public class Car {
    // 속성(필드)
    String color;
    String model;
    int speed;

    // 메서드
    void accelerate() {
        speed += 10;
    }

    void brake() {
        speed -= 10;
    }
}

객체

: 클래스를 기반으로 생성되어 실제로 메모리에 할당된 것
ex) 붕어빵틀로 만들어진 붕어빵

// 참조 변수 선언(이 상태에서 myCar는 객체가 아님)
Car myCar;
// 객체 생성(이때 메모리에 할당됨)
myCar = new Car();

인스턴스

: 객체와 거의 같은 뜻으로 사용되며, 객체들 중 특정한 클래스의 객체임을 강조할때 주로 사용된다.
ex) 저 붕어빵틀로 만들어진 붕어빵

// 객체이자 인스턴스
// myCar 객체는 Car 클래스의 인스턴스다.
Car myCar = new Car();

결론


클래스는 설계도(메모리에 등록되지 않은)
객체는 실체화 된 것(메모리에 등록됨)
인스턴스는 특정한 클래스의 객체임을 강조할때 사용

profile
NOvice + DEveloper

0개의 댓글