반응형
< 클래스의 멤버변수에 데이터를 셋팅하는 방법
3가지 (getter/setter 함수) >
# 자바에서 클래스의 멤버 변수에 데이터를 설정하는 대표적인 3가지 방법
- 직접 접근 (Direct Access)
- 생성자를 통한 설정 (Using Constructors)
- 게터와 세터 메서드를 통한 설정 (Using Getter and Setter Methods)
# 이전에 작성한 코드를 그대로 가지고 설명
- 참고 : https://sorktjrrb.tistory.com/183
# 직접 접근 방법은 Member 클래스에서 멤버 변수를 public으로 선언하고, 객체를 통해 직접 접근하는 방식
- 직접 접근은 보안등의 이유로 권장되지 않는다.
# 그러므로 일반적으로 멤버 변수는 'private'로 선언하고, 접근 메서드(게터와 세터)를 사용
- 생성 방법은 private로 멤버 변수를 선언하고 게터,세터 함수를 작성할 위치에 마우스 우클릭
- 소스 > 제너레이트 게터 앤 세터.. 를 선택
- 생성을 원하는 멤버 변수를 선택하면 자동으로 생성해준다.
// 접근제어자는 총 4개
// 1. 아무것도 안쓰는것 => default : 같은 패키지 내에서만 가능
// 2. public : 어디서든 접근 가능.
// 3. private : 어디서든 접근 불가능.
// 4. protected : 상속관계만 접근 가능.
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
private String tel;
private String address;
# 이제 Main 클래스에서 생성된 함수를 이용해서 set'변수명' 으로 데이터를 가져올수 있다.
package main;
import model.Member;
public class AccessMain {
public static void main(String[] args) {
// 객체 생성
// 다른 패키지에 있는 변수를 가져다 쓰기위해서 import 해줘야함 (파이썬과 동일)
// 다른 패키지에서 public 으로 생성한걸 가져온다.
Member m1 = new Member();
// 이제 변수를다 private 로 변경하여서 생성이 불가능해짐
// m1.name = "홍길동";
// m1.tel = "010-1111-2222";
// m1.address = "인천 서구 연희동";
// 리소스 에서 게터 세터 생성후 데이터 다시 작성
m1.setName("홍길동");
m1.setTel("010-2222-3333");
m1.setAddress("인천 서구 청라");
Member m2 = new Member("김나나", "010-2222-3333", "인천 서구 청라동");
System.out.println( m2.getName());
}
}
다음 게시글로 계속~!
728x90
반응형
'JAVA > JAVA 문법' 카테고리의 다른 글
JAVA : this로 사용하는 멤버변수와 접근제어자(Access) (0) | 2024.06.03 |
---|---|
JAVA : 생성자 사용법과 생성자도 메소드 오버로딩 한다는것 (0) | 2024.06.03 |
JAVA : 생성자(Constructor)란? (1) | 2024.06.03 |