본문 바로가기
  • 평범한 나의 개발공부 일지
개발자 수강노트/Java /Spring

수강노트 - 자바 클래스 선언 및 호출 (3)

by 블랑 블랑 2022. 7. 31.
반응형

클래스와 객체 전역변수 값 setting 및 getting

ex)

회원관리 클래스 틀에 아이디,비밀번호,이름,이메일 데이터가 담겨있다.

회원관리 클래스를 통해 새로운 객체가 생성되면 새로운주소 1번이 생성되고,

그 주소1번안 데이터영역에는 아이디,비밀번호,이름,이메일 데이터가 있고 메소드영역은 모른다.

* id값 id001 넣기 (셋팅)

- 1번 주소값을 찾아가서 id에 id001값을 setting 한다.

* id값 id001 꺼내오기 (겟팅)

- 1번 주소값을 찾아가서 id001값을 getting 한다.

user u01 = new user();

User Class data type으로 u01객체참조변수를 선언하고

User()생성자 메서드를 호출해서 새로운 객체를 생성하면

새로운 주소(주소1)가 생성되고 data 영역과 method영역이 생긴다

생성된 주소값(주소1) 을 u01객체참조변수에 할당 한다

- 회원관리 클래스 틀 user클래스

package kr.or.ksmart.A;

//User(회원관리 클래스 틀)
public class user {
//field(필드) = Member = Member field 
//전역변수(global variable)
//프로퍼티(property)
	String uid;
	String upw;
	String uphone;
	char ugender;
	int uage;
	String ulevel;
	
	
}

- 회원관리 클래스 틀 Goods클래스

package kr.or.ksmart.A;

public class Goods {
	String pcode;
	String uid;
	String pname;
	int pjungsang;
	int phalin;
	String psangse;
	
}

- 회원관리 클래스 틀 Order클래스

package kr.or.ksmart.A;

public class Order {
	String ocode;
	String pcode;
	String uid;
	int ocount;
	int oprice;
	int ototal;
	String oaddress;
	
}
 
package kr.or.ksmart.A;

public class AA01 {

	public static void main(String[] args) {
		user u01 = new user();
		user u02 = new user();

		System.out.println(u01 + "<- u01");
		System.out.println(u01.uid + "<- u01.uid 01");	
		
		u01.uid = "id001";
		u01.upw = "pw001";
		u01.uphone = "010-0001";
		u01.ugender = '남';
		u01.uage = 20;
		u01.ulevel = "구매자";
		uPrint(u01);
		
		u02.uid = "id002";
		u02.upw = "pw002";
		u02.uphone = "010-0002";
		u02.ugender = '여';
		u02.uage = 30;
		u02.ulevel = "판매자";
		uPrint(u02);
		
		Goods g01 = new Goods();
		
		g01.pcode = "p001";
		g01.uid = u02.uid; // 
		g01.pname= "노트북";
		g01.pjungsang = 2000000;
		g01.phalin = 1000000;
		g01.psangse = "SW개발용";
		gPrint(g01);

     	Order o01 = new Order();
		
		o01.ocode = "o001";
		o01.pcode = g01.pcode;
		o01.uid = u01.uid;
		o01.ocount = 3;
		o01.oprice = g01.pjungsang;
		o01.ototal = o01.ocount * o01.oprice;
		o01.oaddress = "금암동";
		oPrint(o01);

	}

    public static void oPrint(Order geto) {
		System.out.println("--- 주문 내역 시작 ---");
		System.out.println("주문코드" + geto.ocode);
		System.out.println("상품포드" + geto.pcode);
		System.out.println("구매자id" + 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("--- 주문 출력력 끝 ---");
		
	}
	
	
	public static void gPrint(Goods getg) {
		System.out.println("--- 상품출력 시작 ---");
		System.out.println("상품코드: " + getg.pcode);
		System.out.println("판매자id: " + 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("--- 상품출력 끝 ---");
		
	}
	
	//회원 출력 메서드 선언
	// user getu = kr.or.ksmart.A.user@7852e922;
	// user getu = user클래스 통해 생성된 객체의 주소값;
	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("--- 회원내역 끝 ---");


		
		
	}
	
	
	
	

}
 

<결과>

kr.or.ksmart.A.user@2401f4c3<- u01

null<- u01.uid 01

--- 회원내역 시작 ---

회원아이디: id001

회원비번: pw001

회원연락처: 010-0001

회원성별: 남

회원나이: 20

회원권한: 구매자

--- 회원내역 끝 ---

--- 회원내역 시작 ---

회원아이디: id002

회원비번: pw002

회원연락처: 010-0002

회원성별: 여

회원나이: 30

회원권한: 판매자

--- 회원내역 끝 ---

--- 상품출력 시작 ---

상품코드: p001

판매자id: id002

상품이름: 노트북

상품가격: 2000000

정상가격: 1000000

할인가격: SW개발용

--- 상품출력 끝 ----

-- 주문 내역 시작 ---

주문코드o001

상품포드p001

구매자idid001

주문수량3

주문단가2000000

결제금액6000000

배송주소금암동

--- 주문 출력력 끝 ---

Order클래스에 있는 구매단가

-

Goods클래스를 통해 생성된 객체 내 정상가 2000000 값을 꺼내서

Order클래스를 통해 생성된 객체 내 구매단가 에 셋팅한다.

반응형

댓글