본문 바로가기

Java

[java] 자바 클래스와 객체 용어의 정의

 

 

자바 클래스와 객체의 정의

안녕하세요! 이번 블로그 포스트에서는 자바의 기본 개념인 클래스와 객체에 대해 알아보겠습니다. 객체 지향 프로그래밍에서 중요한 두 용어인 클래스와 객체의 개념을 이해하는 것은 매우 중요합니다.

 클래스는 Heap 영역에 있으며 main함수는 stack 영역에 있습니다.

main함수 내에서 생성된 함수들은 모두 stack 메모리에 생성되며 Heap 영역에 있는 클래스를 사용 하려면 먼저 생성자를 만들어 주고 클래스의 객체를 가르켜 객체를 사용 할 수 있게 됩니다. 또한 클래스 내부에 메서드가 있으면 그 함수를 STACK 메모리에 생성 후 호출 하도록 하면 됩니다.

자바 클래스(Java Class)란?

클래스는 객체를 생성하기 위한 청사진 또는 설계도입니다. 클래스는 속성과 메소드를 정의하며, 이를 통해 객체가 가지는 상태와 동작을 지정합니다. 클래스는 '틀'이며, 객체는 그 틀을 기반으로 만들어진 '실체'라고 볼 수 있습니다.

예를 들어, 자동차를 설계하는 클래스는 다음과 같은 구조를 가질 수 있습니다:


    public class Car {
        // 속성 (멤버 변수)
        String color;
        String model;

        // 생성자
        public Car(String color, String model) {
            this.color = color;
            this.model = model;
        }

        // 메소드
        public void drive() {
            System.out.println("The car is driving");
        }
    }
    

자바 객체(Java Object)란?

객체는 클래스의 인스턴스(instance)입니다. 클래스에서 정의한 속성과 메소드를 실제로 사용할 수 있게 하는 실체입니다. 객체는 메모리에 할당되며, 클래스에서 정의된 내용을 기반으로 생성됩니다.

위의 Car 클래스를 기반으로 객체를 생성해보겠습니다:


    public class Main {
        public static void main(String[] args) {
            // 객체 생성
            Car myCar = new Car("Red", "Tesla Model S");
            // 객체의 메소드 호출
            myCar.drive();
        }
    }
    

위 코드에서는 Car 클래스의 인스턴스인 myCar 객체를 생성하고, 해당 객체의 drive 메소드를 호출하고 있습니다.

클래스와 객체의 관계

클래스와 객체의 관계는 매우 밀접합니다. 클래스는 객체를 생성하기 위한 틀이며, 객체는 클래스의 인스턴스입니다. 클래스는 단지 설계도이기 때문에 실제 사용하려면 객체를 생성해야 합니다. 객체는 클래스에서 정의한 속성과 메소드를 실제로 구현하여 사용할 수 있습니다.

마무리

이번 포스트에서는 자바의 클래스와 객체에 대해 알아보았습니다. 객체 지향 프로그래밍의 기본 개념인 클래스와 객체를 이해하는 것은 매우 중요합니다. 이 두 가지 개념을 잘 이해하면 자바 프로그래밍의 기초를 탄탄히 다질 수 있습니다. 다음 시간에는 더 흥미로운 주제로 찾아뵙겠습니다. 감사합니다!