Java Class와 Object

윤성모·2025년 2월 11일

기본설명

  • Java는 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 언어로, Class(클래스)와 Object(객체)는 OOP의 핵심이다.

Class란?

  • Class란 객체를 생성하기 위한 설계도 또는 틀의 역할을 한다.
  • Class는 일반적으로 필드, 메소드, 생성자로 구성된다.
public class Rectangle {
	// 필드
	public int width; // 변수 선언용도로 사용
    public int height;
    
    // 생성자
    public Rectangle() { } // Rectangle이란 클래스를 초기화하는 용도로 사용
    
    // 메서드
    public int calcArea() {
    	return width * height; // 연산 등을 위한 용도로 사용
    }

}

Object(객체)

  • 객체는 클래스를 기반으로 생성된 실체이다. 즉 클래스를 이용하여 메모리에 할당된 실질적인 데이터를 의미한다.
public class Main {
    public static void main(String[] args) {
        Rectangle square = new Rectangle(10, 10); // Rectangle 클래스의 객체 생성
        int area = rectangle.calcArea();
    }
}

위 코드는 객체 생성 예제로 square라는 객체를 Rectangle 클래스의 생성자를 통해 만들었다.

Class와 Object 관계 정리

  • 위 예제들로 정리하면 클래스는 객체를 위한 설계도, 틀이다.
  • 객체는 클래스의 인스턴스(실체)이며, 메모르에 실제 데이터가 존재한다.
  • 같은 클래스로 여러 개의 객체를 생성할 수 있다.

추가 내용

  • Class에 변수, 생성자, 메서드 등을 선언할 때 접근제어자, 데이터타입, 반환타입 등의 내용이 존재한다. 해당 내용은 다음 글에서 다뤄보겠다.
// 접근제어자 종류
public, private, protected
// 추가적으로 어떤 접근제어자도 없는 경우는 default로 정의

// 클래스 관련 키워드
static, final

// 데이터타입
byte, short, int, long, float, double, boolean, char // 기본 데이터 타입
// 기본 데이터 타입을 제외한 모든 타입을 참조 타입이라고 말한다.

// 반환타입
void, int...(기본 타입), String(참조 타입), class...
profile
Java / Spring 개발 공부 일지

0개의 댓글