본문 바로가기

기록(노트)

2주일째:이해안간다. 꼭 복습(setter and getters)

u01 객체참조변수

주소값:null

User클래스 통해 생성된 객체(instance)

주소값:주소 1

실제 주소값:
data 영역


String uid=null;
String upw=null;
String uphone=null;
char ugender='';
int uage=0;
String ulevel=null;

 

//메서드 선언: return있는지 없는지 모르겠지만 입력 없다.

public void User(){

}
/

 

 

2.

이유:전역변수(필드)이름과 지역변수(매개변수포함)이름이 같으면 매서드 내에서는 지역변수로 처리된다.

지역변수는 메서드 호출 시 처리 후 취발된다.

결론적으로 전역변수(필드)에 셋팅되지않는다.

 

해결방법?
전역변수(필드)와 지역변수(매개변수포함)이름이 같을 때 구분이 필요하다

전역변수(필드) 앞에 this.을 붙여서 구분한다.

예) this.uid=uid;


User 클래스 통해 생성된 객체내부

주소값: 회원주소1

data영역

private String uid="id001";
	private String upw=null;
	private String uphone=null;
	private char ugender=;
	private int uage=0;
	private String ulevel=null;
	public void setUid(String uid) {
		System.out.println(a + "<-a setUid User.java");
		uid = uid;

 

method영역

public void setUid(String uid) {
		this.uid=uid;
public String getUid() {
		return uid;

 

질문)setUid 메서드 호출하면

어디에 선언된 메서드가 실행될까요?

답)User 클래스 통해 생성된 객체내부 method영역에 선언된 setUid

 

 

지역변수(매개변수)uid에 this.uid전역변수(필드)에 담겨있는 null값을 대입(입력)담고 있따.

 

 

 

 

 

 

 

 

 

 

 

오늘 카페가서 공부할거ㅜㅜ 복습 꼭해
1.setter and getters 개념
2.g01.setUid(u.getUid()); 이런유형 어떤 의미인지

java06.war
0.01MB
10_java기초_클래스와객체_전역변수값셋팅.pptx
1.94MB
10_java기초_클래스와객체_전역변수값셋팅_스텍_힙_영역추가.pptx
1.97MB
11_java기초_클래스와객체_setters_getters.pptx
2.51MB
11_java기초_클래스와객체_setters_getters_(VO_DTO)_(Encapsulation).pptx
2.52MB