Java 클래스와 객체 전역변수값 셋팅,겟팅 하나의 패키지 내 여러 메서드 선언 및 호출

h220101·2022년 3월 13일
0
01 : 클래스와 객체 전역변수 값 셋팅, 겟팅

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의 셋팅값을 겟팅해서 (꺼내서) 콘솔창에 출력한다.


✏️practice


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 판매자 아이디)

-> 회원 아이디와 동일한 값!

profile
기록하는 삶

0개의 댓글