01 : 클래스와 객체 전역변수 값 셋팅, 겟팅
전역변수 (Global variable)
-> 어느 위치에서든 호출시 사용가능
-> 함수 밖에 선언해 클래스전체에서 (전역적으로) 사용가능
지역변수 (Local variable)
-> 특정구역 ({}) 내 생성되어 그 구역에서만 사용
-> 함수 속에 선언되어 해당함수 속에서만 사용가능
전역변수 는 클래스 블록 안,
메서드 블록 밖에 선언된 변수다.
중괄호 블록 안에서 전역적으로 사용이 가능함!
지역변수(매개변수) 는 메서드 호출 후 실행될 때
데이터가 있지만 실행이 끝나면 휘발됨.
📌기본개념
'User' class data type으로
'u01' 명의 객체참조변수를 선언하고
(이때 주소 값은 null, 0 상태이다.)
'User()' 생성자 메소드를 호출하면
새로운 주소가 생기고,
'User' 클래스에 있던 data영역, mathod영역이 똑같이 생긴다.
이 새로운 주소값을 'u01' 객체참조변수에 할당한다.
현재
'u01' 객체참조변수 에 할당된
👉주소값: honghwiyeon.User@2401f4c3
data 영역
아이디/ String uid = null;
비번/ String upw = null;
폰/ String uphone = null;
성별/ char ugender = ;
나이/ int uage = 0;
권한/ String ulevel = null;
메서드 영역은 없다.
아이디 = id001
객체참조변수 'u01' 에 전역변수 uid 데이터를 입력하면,
user 클래스를 통해 생성된 객체(즉, 객체참조변수 getu)를 찾아가서
data영역 uid 전역변수에 "id001"값을 셋팅 (입력,대입) 한다.
객체참조변수 'u01'의 uid를 불러오려고하면,
user 클래스를 통해 생성된 객체(getu) 를 찾아가서
data영역 uid의 셋팅값을 겟팅해서 (꺼내서) 콘솔창에 출력한다.
01. 회원,상품,주문 데이터를 셋팅, 겟팅하기
package honghwiyeon;
public class AA01 {
public static void main(String[] args) {
User u01 = new User ();
//System.out.println(u01);
//uPrint(u01);
//id001 pw001 010-0001 남 20 구매자
u01.uid = "id001";
u01.upw = "pw001";
u01.uphone = "010-0001";
u01.ugender = '남';
u01.uage = 20;
u01.ulevel = "구매자";
uPrint(u01);
Goods g01 = new Goods();
//p001 id002 노트북 2000000 1000000 SW개발용
g01.pcode = "p001";
g01.uid = u01.uid;
g01.pname = "노트북";
g01.pjungsang = 2000000;
g01.phalin = 1000000;
g01.psangse = "SW개발용";
gPrint(g01);
Order o01 = new Order();
//o001 p001 id001 3 2000000 6000000 금암동
o01.ocode = "o001";
o01.pcode = "p001";
o01.uid = "id001";
o01.ocount = 3;
o01.oprice = 2000000;
o01.ototal = 6000000;
o01.oaddress = "금암동";
oPrint(o01);
}
public static void uPrint(User getu) {
System.out.println("---회원상세정보---");
System.out.println(getu.uid+" 아이디 ");
System.out.println(getu.upw+" 비번 ");
System.out.println(getu.uphone+" 폰");
System.out.println(getu.ugender+" 성별");
System.out.println(getu.uage+" 나이");
System.out.println(getu.ulevel+" 권한");
System.out.println("---회원상세정보 끝--");
}
public static void gPrint(Goods getg) {
System.out.println("---상품상세정보---");
System.out.println(getg.pcode +" 상품코드");
System.out.println(getg.uid +" 판매자 아이디");
System.out.println(getg.pname +" 상품이름");
System.out.println(getg.pjungsang +" 상품정상가");
System.out.println(getg.phalin +" 상품할인가");
System.out.println(getg.psangse +" 상품상세설명");
System.out.println("---상품상세정보 끝---");
}
public static void oPrint(Order geto) {
System.out.println("---주문상세정보---");
System.out.println(geto.ocode +" 주문코드");
System.out.println(geto.pcode +" 상품코드");
System.out.println(geto.uid +" 구매자아이디");
System.out.println(geto.ocount +" 구매수량");
System.out.println(geto.oprice +" 구매단가");
System.out.println(geto.ototal +" 결제예정금액");
System.out.println(geto.oaddress +" 받는주소");
System.out.println("---주문상세정보 끝---");
}
}
g01.uid = u01.uid;
(id002 판매자 아이디)
-> 회원 아이디와 동일한 값!