this 키워드는 자바에서 객체 자신의 참조를 나타내는 데 사용
주로 클래스의 멤버 변수와 메서드의 매개변수 이름이 충돌할 때
객체의 멤버 변수를 명확하게 구분하기 위해 사용된다.
다른 생성자를 호출하거나 현재 객체의 참조를 반환하는 데에도 사용할 수 있다.
public: 어디서나 접근 가능.
protected: 같은 패키지 내에서, 그리고 다른 패키지의 자식 클래스에서 접근 가능.
default: 같은 패키지 내에서만 접근 가능.
private: 동일 클래스 내에서만 접근 가능.
package model;
public class Member {
// 접근제어자는 총 4개
// 1. 아무것도 안쓰는것 => default : 같은 패지키 내에서만 가능
// 2. public => 어디서든 접근 가능
// 3. private => 어디서도 접근 불가능
// 4. protected => 상속 관계만 접근 가능
private String name;
private String tel;
private String address;
public Member(){
}
// this 라는 키워드 this는 클래스의 멤버변수나 메소드를 가르킬때 사용한다
public Member(String name, String tel, String address){
this.name = name;
this.tel = tel;
this.address= address;
}
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;
}
}
다른 패키지(다른 폴더)의 클래스에서 위에서 만든 클래스 사용해보기
같은 패키지 안에 있으면 바로 사용 가능
다른 패키지에서 클래스를 사용하려면 해당 클래스를 import 해서 사용
package main;
// 다른 패키지에서 클래스를 사용하려면 해당 클래스를 import 해서 사용
import model.Member;
public class AccessMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
Member m1 = new Member();
m1.setName("홍길동");
m1.setTel("010-1234-1234");
m1.setAddress("인천 서구 길동이네");
Member m2 = new Member("김나나", "010-1111-1111", "인천 서구 나나네");
System.out.println(m2.getName());
}
}
멤버변수는 접근 제어자를 가질 수 있지만
로컬변수는 가질 수 없다.
다른 차이점은 표를 참고
'Java' 카테고리의 다른 글
[Java] super 키워드 (0) | 2024.06.03 |
---|---|
[Java] 클래스 상속 (1) | 2024.06.03 |
[Java] getter / setter 함수 (0) | 2024.05.31 |
[Java] 클래스의 멤버변수에 데이터를 셋팅하는 3가지 방법 (객체 생성) (0) | 2024.05.31 |
[Java] 생성자란? (0) | 2024.05.31 |