Getter (게터)와 Setter (세터):
Getter와 Setter는 객체의 상태에 접근하고 조작하기 위한 메서드. 주로 private한 멤버 변수의 값을 가져오거나 설정하는 용도로 사용된다. Getter는 해당 변수의 값을 반환하고, Setter는 해당 변수의 값을 설정한다. 이를 통해 클래스 내부의 멤버 변수를 캡슐화하여 외부에서 직접 접근하는 것을 방지하고, 객체의 상태를 제어할 수 있는 인터페이스를 제공한다. 일반적으로 Getter와 Setter 메서드는 public으로 정의됨.
- Getter: 멤버 변수의 값을 읽어오는 메서드. 예를 들어,
getName()
메서드는 이름 멤버 변수의 값을 반환.
- Setter: 멤버 변수의 값을 설정하는 메서드 예를 들어,
setName(String name)
메서드는 이름 멤버 변수의 값을 설정.
생성자
생성자는 일반 메소드와 다르게 객체가 생성될 때 한 번만 호출되는 메소드 new 연산자가 생성자 메소드를 보고 메모리에 할당해야하는 클래스가 무엇인지 파악하고 작업해야 하므로 생성자 메소드를 정의할때 규칙이 존재한다. 생성자 메소드는 주로 객체가 생성될 때 처리해야 하는 기능들 처음 실행되어야 하는 로직을 정의할 목적으로 사용됨 (db 연결, 네트워크 접속, os와 통신해서 읽거나 써야할 파일을 open하기..) 특별한 로직이 있는 경우는 API에 포함된 클래스이며 사용자정의로 만든 클래스에서 생성자의 역할은 주로 클래스의 멤버변수값을 초기화 하는 일을 담당
생성자를 작성하기 위한 규칙
- 생성자의 이름은 클래스명과 대소문자까지 동일하게 정의한다.
- 생성자를 정의하는 경우에는 리턴타입은 명시하지 않는다. (void도 정의하지 않는다.)
- 생성자를 정의하지 않는 경우에는 컴파일러가 매개변수 없는 생성자를 제공한다. 이를 default 생성자라고 한다(기본 생성자).
- 클래스를 정의하면서 생성자를 개발자가 정의하면 컴파일러는 더이상 기본 생성자를 제공하지 않는다. => 프레임워크를 사용하는 경우 기본 생성자를 내부에서 사용하므로 기본 생성자는 꼭 정의해야 한다.
- 생성자도 메소드이므로 매개변수를 정의할 수 있다.
- 생성자 메소드도 오버로딩을 지원한다. => 생성자를 여러 개 정의할 수 있다. 매개변수 갯수, 타입, 순서가 다르게
- 생성자가 오버로딩 되어 있으므로 생성자 안에서 다른 생성자를 호출할 수 있다. [문법] this(호출하고 싶은 생성자의 매개변수 객수와 타입에 맞게 값을 정의) => 생성자 호출문은 반드시 생성자의 첫 번째 문장에서 호출해야 한다.
'코딩딩 > Java' 카테고리의 다른 글
스프링 컨테이너와 스프링 빈 (0) | 2023.08.18 |
---|---|
Static Member, 상속 (0) | 2023.08.17 |
객체 지향 프로그래밍 (0) | 2023.08.14 |
자바의 각종 데이터 타입 (0) | 2023.08.10 |
자바 기초 (0) | 2023.08.09 |