//private 붙이는 순간 에러(클래스 변수명=new 클래스명();)...메서드로 접근해야함
//private 붙여서 호출
private int x; //메인에서 ObTestA oa1=new ObTestA(); 이걸로 호출 불가능
private static int y; //메인에서 ObTestA.y 이걸로 호출 불가능
-private x set 메서드
-void만 올 수 있음(set 메서드)
public void setX(int xx) //=>수정을 목적으로 하기 때문에 인자값 필수
{
//this.x=xx;
//this는 멤버 자기자신
x=xx;
//private과 이 setX(인자값)의 인자값과 이름이 틀릴때 this생략하여 사용
}
-private x get 메서드
//무조건 private x get 메서드 ()안 인자값x
//void 말고도 올 수 있음 => 그럴땐 return값 받아야지만 사용가능
public void getX() //=>set으로 설정한걸 get으로 받아옴
{
System.out.println("x="+this.x);
}
package day0627;
//메서드 만드는 class
class ObTestA{
//private 붙이는 순간 에러...메서드로 접근해야함
//private 붙여서 호출
private int x; //메인에서 ObTestA oa1=new ObTestA(); 이걸로 호출 불가능
private static int y; //메인에서 ObTestA.y 이걸로 호출 불가능
//x에 대한 set get 메서드
//private x set 메서드
//void만 올 수 있음
public void setX(int xx) //=>수정을 목적으로 하기 때문에 인자값 필수
{
//this.x=xx; //this는 멤버 자기자신
x=xx; //private과 이 setX(인자값)의 인자값과 이름이 틀릴때 this생략하여 사용
}
//무조건 private x get 메서드 ()안 인자값x
//void 말고도 올 수 있음 => 그럴땐 return값 받아야지만 사용가능
public void getX() //=>set으로 설정한걸 get으로 받아옴
{
System.out.println("x="+this.x);
}
//y의 set get
public static void setY(int yy)
{
//this.y=yy; private static에서는 this 사용 불가능
//static에서는 일반멤버변수 호출 불가능...static변수만 호출가능
ObTestA.y=yy; // private static은 이렇게 접근 // 같은 클래스라면 y=yy; 접근 가능
}
public static void getY()
{
System.out.println("y= "+ObTestA.y);
}
}
//private변수이므로 메서드 만들어서 호출 가능..변수에 직접 접근안됨 set/get 사용
//x호출
ObTestA oa1=new ObTestA(); -> 클래스명 변수명=new 클래스명();
oa1.setX(20);//->()값 수정
oa1.getX(); // set으로 설정한걸 get으로 받아옴
//ObTestA.y=200; private라서 이렇게 접근하면 오류발생
//y호출...클래스명으로 호출
ObTestA.setY(50); ->클래스명.set메서드명(인자값);
ObTestA.getY(); -> 클래스명.get메셔드명();
public class ExObTest_06 {
public static void main(String[] args) {
/*x는 생성 ..private 붙이는 순간 에러...메서드로 접근해야함
ObTestA oa1=new ObTestA();
System.out.println(oa1.x);
//y는 클래스명으로 호출
System.out.println(ObTestA.y);*/
//private변수이므로 메서드 만들어서 호출 가능..변수에 직접 접근안됨 set/get 사용
ObTestA oa1=new ObTestA();
oa1.setX(20); //->()값 수정
oa1.getX(); // set으로 설정한걸 get으로 받아옴
ObTestA oa2=new ObTestA();
oa2.setX(50);
oa2.getX();
//ObTestA.y=200; private라서 이렇게 접근하면 오류발생
//y호출...클래스명으로 호출
ObTestA.setY(50);
ObTestA.getY();
}
}
같은 패키지 안에 같은 클래스 이름이면 에러
private String name; //null
private int age; //0
//settermethod
//instance 변수에 저장된 데이터를 수정할 목적(set변수명)수정할 인자값이 있다
//저장수정용도이므로 return값(결과값)이 없다(void)
public void setName(String name)
{
this.name=name; //this.클래스에 있는 name=setName 인자값에 있는 name
}
//getter_method
//instance변수에 저장된 데이터를 조회(나중에 SQL에서 select)할 목적(get 변수명)
//데이터를 얻는 목적이므로 호출 데이터를 넘겨줄 필요가 없으므로 인자값(파라메터값)이 없다
//실행결과를 돌려주므로 "return 결과값" 으로 지정
public String getName()
{
return name; //=>set메서드에서 this.name에서 ~~.name
}
public int getAge()
{
eturn age;
}
public void setAge(int age) //=>인자값이 클래스 변수명과 동일한 필요x
{
this.age=age; //this.클래스에 있는 age=setAge 인자값에 있는 age
}
package day0627;
//같은 패키지 안에 같은 클래스 이름이면 에러
class Student{
private String name; //null
private int age; //0
//setter_method
//instance 변수에 저장된 데이터를 수정할 목적(set변수명)_수정할 인자값이 있다
//저장수정용도이므로 return값(결과값)이 없다(void)
public void setName(String name)
{
this.name=name; //this.클래스에 있는 name=setName 인자값에 있는 name
}
public void setAge(int age) //=>인자값이 클래스 변수명과 동일한 필요x
{
this.age=age; //this.클래스에 있는 age=setAge 인자값에 있는 age
}
//getter_method
//instance변수에 저장된 데이터를 조회(나중에 SQL에서 select)할 목적(get 변수명)
//데이터를 얻는 목적이므로 호출 데이터를 넘겨줄 필요가 없으므로 인자값(파라메터값)이 없다
//실행결과를 돌려주므로 "return 결과값" 으로 지정
public String getName()
{
return name; //=>set메서드에서 this.name에서 ~~.name
}
public int getAge()
{
return age;
}
}
public class SetGetMethod_07 {
public static void main(String[] args) {
//생성 -> 수정 -> 출력
//1.객체생성
Student stu1=new Student(); //디폴트 생성자
//2.참조변수명으로 set메서드 호출
stu1.setName("최지우");
stu1.setAge(33);
//3.get메서드를 통한 값얻기
String name=stu1.getName(); //같은 class가 아니라서 참조변수명 name 써도 무관
int age=stu1.getAge();
//출력
System.out.println(name+""+age);
//2번째 생성 및 출력
Student stu2=new Student();
stu2.setName("츄");
stu2.setAge(25);
System.out.println(stu2.getName()+" "+stu2.getAge());
}
}