JAVA/기초

[Java] Class 란?

안양큰스님 2024. 2. 27. 00:47

클래스(class)는 객체 지향 프로그래밍의 기본적인 개념 중 하나로, 데이터와 그 데이터를 조작하는 메서드(함수)를 함께 묶어서 캡슐화하는 방법을 제공합니다. 클래스는 객체를 생성하기 위한 템플릿이며, 객체는 클래스의 인스턴스(instance)입니다. 자바에서 클래스는 `class` 키워드를 사용하여 정의됩니다.

 

클래스 구성 요소

 

  1. 멤버 변수(Fields) : 클래스 내에 선언된 변수로, 클래스가 가지는 데이터를 나타냅니다.
  2. 메서드(Methods) : 클래스 내에 선언된 함수로, 클래스가 수행할 동작을 정의합니다.
  3. 생성자(Constructor) : 객체를 초기화하는 데 사용되는 특수한 종류의 메서드입니다.
  4. 내부 클래스(Inner Classes) : 다른 클래스 내에 선언된 클래스로, 해당 외부 클래스의 멤버에 접근할 수 있습니다.

클래스 예시

다음은 자바에서 간단한 사각형 클래스를 정의하는 예시입니다. 이 클래스는 사각형의 너비와 높이를 나타내는 멤버 변수와 넓이를 계산하는 메서드로 구성됩니다.

public class Rectangle {
    // 멤버 변수
    private double width;
    private double height;
    
    // 생성자
    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }
    
    // 너비 getter/setter
    public double getWidth() {
        return width;
    }
    
    public void setWidth(double width) {
        this.width = width;
    }
    
    // 높이 getter/setter
    public double getHeight() {
        return height;
    }
    
    public void setHeight(double height) {
        this.height = height;
    }
    
    // 넓이 계산 메서드
    public double calculateArea() {
        return width * height;
    }
}


위의 클래스는 사각형을 나타내며, 너비와 높이를 멤버 변수로 가지고 있습니다. 생성자를 통해 초기화하고, 각각의 멤버 변수에 접근하기 위한 getter와 setter 메서드를 제공합니다. 또한 넓이를 계산하는 메서드도 포함되어 있습니다.

이제 이 클래스를 사용하여 객체를 생성하고 사용하는 예시를 살펴보겠습니다.

public class Main {
    public static void main(String[] args) {
        // 사각형 객체 생성
        Rectangle rectangle = new Rectangle(5.0, 4.0);
        
        // 너비와 높이 출력
        System.out.println("Width: " + rectangle.getWidth());
        System.out.println("Height: " + rectangle.getHeight());
        
        // 넓이 계산 및 출력
        System.out.println("Area: " + rectangle.calculateArea());
    }
}


이러한 예시는 클래스를 정의하고, 그 클래스를 사용하여 객체를 생성하고 조작하는 과정을 보여줍니다. 이러한 객체 지향적 접근 방식은 코드의 재사용성을 높이고 유지 보수를 쉽게 만듭니다.