자바의 세터/게터 메서드는 무엇인가요?

자바에서 세터(setter)와 게터(getter) 메서드는 객체 지향 프로그래밍에서 클래스의 필드(멤버 변수) 에 접근하고 값을 변경하거나 조회할 때 사용하는 메서드입니다.

1. 세터 메서드(setter)란? - 필드의 값을 외부에서 안전하게 변경할 수 있도록 도와주는 메서드입니다.

- 보통 이름은 `set` + 필드명(첫 글자 대문자) 형태로 만듭니다.

- 매개변수로 전달받은 값을 내부 필드에 할당하는 역할을 합니다.

- 필드를 직접 `public`으로 공개하지 않고, 세터를 통해 값의 유효성 검사나 부가 처리를 수행할 수도 있습니다.

2. 게터 메서드(getter)란? - 필드 값을 외부에서 조회할 수 있도록 값을 반환하는 메서드입니다.

- 보통 이름은 `get` + 필드명(첫 글자 대문자) 형식을 따릅니다.

- boolean 타입인 경우에는 `is` + 필드명 형식을 사용하기도 합니다.

- 필드가 `private`일 때 외부에서 필드 값을 안전하게 읽는 수단이 됩니다.

3. 세터/게터 메서드의 목적 - 캡슐화(encapsulation) : 필드를 직접 공개하지 않고 은폐시켜, 외부에서 임의로 변경이나 접근하는 것을 제어합니다.

- 유효성 검사 : 세터에서 입력 값을 체크해 오류를 방지할 수 있습니다.

- 유지보수성 향상 : 내부 구현은 숨기고, 인터페이스(메서드)로만 데이터를 주고받으므로 향후 수정 시 영향 범위를 최소화할 수 있습니다.

4. 예시 코드 ```java public class Person { private String name; private int age; // 게터 public String getName() { return name; } // 세터 public void setName(String name) { this.name = name; } // 게터 public int getAge() { return age; } // 세터, 나이값 유효성 검사 추가 public void setAge(int age) { if (age >= 0) { this.age = age; } else { System.out.println("나이는 0 이상이어야 합니다.

"); } } } ``` --- 5. 사용 예 ```java Person p = new Person(); p.setName("홍길동"); p.setAge(25); System.out.println(p.getName()); // 홍길동 System.out.println(p.getAge()); // 25 ``` --- 요약 - 세터 는 필드 값을 설정하는 메서드 - 게터 는 필드 값을 반환하는 메서드 - 자바에서 접근 제어자 `private` 필드를 외부에서 간접적으로 접근하기 위한 표준적인 방식이며, 캡슐화 원칙을 지키는 데 매우 중요한 역할을 합니다.


관련 게시글

자바에서 병렬 처리를 구현하는 방법은 무엇인가요?

자바에서 병렬 처리는 여러 작업을 동시에 실행하여 프로그램의 성능과 응답성을 향상시키는 기법입니다....

문제 해결 및 면접 질문

문제 해결 및 면접 질문에 관한 글 --- 1. 문제 해결의 중요성 문제 해결 능력은 개인과...

자바에서 중복된 요소를 제거하는 방법은 무엇인가요?

자바(Java)에서 중복된 요소를 제거하는 방법에는 여러 가지가 있습니다. 주로 컬렉션프레임워크를 활용하...

자바 Collections에서 정렬하는 방법은 무엇인가요?

자바 Collections에서 정렬하는 방법에 대해 설명드리겠습니다. 자바에서는 컬렉션(Collection) 자료구조의...

자바의 메모리 누수 문제를 해결하는 방법은 무엇인가요?

자바의 메모리 누수 문제를 해결하는 방법 --- 1. 메모리 누수란? 자바는 가비지 컬렉션(GC)...

팩토리 패턴을 사용하여 주어진 문제를 해결해보세요.

팩토리 패턴을 사용하여 주어진 문제를 해결해보세요. --- 1. 팩토리 패턴이란? 팩토리 패턴...