본문 바로가기

Java

[JAVA]자바에서 getter / setter 함수 사용

Getter와 Setter 함수 이해하기

Getter와 Setter 함수 이해하기

객체지향 프로그래밍(OOP)에서 Getter와 Setter 함수는 객체의 속성에 접근하고 수정하기 위해 사용됩니다. 이 메서드들은 데이터 캡슐화를 통해 객체의 내부 상태를 보호하고, 속성 접근에 대한 제어를 제공합니다. 함께 자세히 알아봅시다.

Getter란?

Getter 메서드는 속성 값을 반환하는 메서드입니다. 예를 들어, 다음과 같이 사용할 수 있습니다:

public class Person {
    private String name;

    // Getter 메서드
    public String getName() {
        return name;
    }
}

Setter란?

Setter 메서드는 속성 값을 설정하는 메서드입니다. 다음은 그 예입니다:

public class Person {
    private String name;

    // Setter 메서드
    public void setName(String name) {
        this.name = name;
    }
}

왜 사용하는가?

Getter와 Setter 메서드를 사용하는 이유는 다음과 같습니다:

  • 데이터 보호 및 캡슐화: 속성을 직접 노출하지 않고, 메서드를 통해 접근하게 함으로써 외부에서 객체의 상태를 임의로 변경하지 못하도록 보호합니다.
  • 유효성 검사: 속성 값을 설정할 때 유효성 검사를 통해 잘못된 값이 할당되는 것을 방지할 수 있습니다.
  • 불변성 유지: 특정 속성은 한 번 설정되면 변경되지 않도록 할 수 있습니다.
  • 로깅 및 디버깅: 속성 값이 변경될 때마다 로그를 남기거나 디버깅 정보를 출력할 수 있습니다.

예제 코드

유효성 검사를 추가한 Setter 메서드의 예제입니다:

public class Person {
    private int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        } else {
            System.out.println("Invalid age");
        }
    }
}