1 - ② - ⑴ 하나의 패키지 내 서로다른 클래스에서 리턴 없고 입력 없는 메서드 선언 및 호출
더보기
회원관리클래스(설계도면!) >>>>통해서>>>> 새로운 객체 생성 > 새 주소 생성 > 데이타/메소드 영역 생김 > (id 영역에 id001값)데이터 세팅할 수 있다. -끝-
다시 주소를 찾아가 >> id 값 꺼내온다 .(getting)
package kr.or.ksmart.A;
public class User {
//*전역변수 (global variable) = 필드 (field) = 멤버 = 멤버필드
// - 클래스 블록 안쪽 메서드 블록 바깥쪽에 선언되어있는 변수
//프로퍼티 (property)
//변수의 영역 기준 (블록기준)
// - 중괄호 밖에 선언된 변수는 안쪽에서 사용 가능
// - 중괄호 안에 선언된 변수는 밖에서 사용 불가
//User class에서 값을 세팅/게팅하는 개념X
String uid;
String upw;
String uphone;
char ugender;
int uage;
String ulevel;
}
package kr.or.ksmart.A;
public class AA01 {
public static void main(String[] args) {
User u01 = new User();
}
}
User class data type으로 u01객체참조변수를 선언하고
User생성자메서드로 새로운 객체를 생성하고
생성된 객체의 주소값을 u01객체참조변수에 할당한다.
package kr.or.ksmart.A;
public class AA01 {
public static void main(String[] args) {
User u01 = new User();
System.out.println(u01 + "<- u01");
System.out.println(u01.uid + "<- u01.uid");
//u01객체참조변수에 할당된 주소(User class를 통해 생성된 객체)에 찾아가서
//data 영역 uid 전역변수에 담겨있는 값 null을 꺼내와서 (getting) 콘솔창에 출력한다.
u01.uid ="id001";
//u01객체참조변수에 할당된 주소(User class를 통해 생성된 객체)에 찾아가서
//data 영역 uid 전역변수에 id001 값을 세팅(입력)한다.
System.out.println(u01.uid + "<- u01.uid");
//u01객체참조변수에 할당된 주소(User class를 통해 생성된 객체)에 찾아가서
//data 영역 uid 전역변수에 담겨있는 값 id001을 꺼내와서 (getting) 콘솔창에 출력한다.
}
}
1 - ② - ⑵ 하나의 패키지 내 서로다른 클래스에서 리턴 없고 입력 있는 메서드 선언 및 호출
package kr.or.ksmart.A;
public class AA01 {
public static void main(String[] args) {
User u01 = new User();
uPrint(u01);
System.out.println(u01);
u01.uid = "id001";
u01.upw = "pw001";
u01.uphone = "010-001";
u01.ugender = '남';
u01.uage = 20;
u01.ulevel = "구매자";
uPrint(u01);
User u02 = new User();
System.out.println(u02);
u02.uid = "id002";
u02.upw = "pw002";
u02.uphone = "010-002";
u02.ugender = '여';
u02.uage = 30;
u02.ulevel = "판매자";
uPrint(u02);
User u03 = new User();
System.out.println(u03);
u03.uid = "id003";
u03.upw = "pw003";
u03.uphone = "010-003";
u03.ugender = '여';
u03.uage = 31;
u03.ulevel = "판매자";
uPrint(u03);
User u04 = new User();
System.out.println(u04);
u04.uid = "id004";
u04.upw = "pw004";
u04.uphone = "010-004";
u04.ugender = '여';
u04.uage = 32;
u04.ulevel = "관리자";
uPrint(u04);
}
//회원 출력하는 메서드 선언
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("--- 회원가입 내역 End ---");
}
}
흐름
Class 추가 (Goods 와 Order class)
package kr.or.ksmart.A;
public class Goods {
String pcode ;
String uid;
String pname;
int pjungsang ;
int phalin;
String psangse;
}
package kr.or.ksmart.A;
public class Order {
String ocode;
String pcode;
String uid;
int ocount;
int oprice;
int ototal;
String oaddress;
}
main 포함된 class 에서 값 세팅 및 출력하는 메소드 호출
package kr.or.ksmart.A;
public class AA01 {
public static void main(String[] args) {
User u01 = new User();
uPrint(u01);
u01.uid = "id001";
u01.upw = "pw001";
u01.uphone = "010-001";
u01.ugender = '남';
u01.uage = 20;
u01.ulevel = "구매자";
uPrint(u01);
User u02 = new User();
u02.uid = "id002";
u02.upw = "pw002";
u02.uphone = "010-002";
u02.ugender = '여';
u02.uage = 30;
u02.ulevel = "판매자";
uPrint(u02);
Goods g01 = new Goods();
g01.pcode="p001";
g01.uid = u02.uid;
//u02객체참조변수에 할당된 주소 즉 User class를 통해 생성된 객체 내의 data 영역의 uid 전역변수에 담겨있는 "id002" 값을 꺼내와서
//g01객체참조변수에 할당된 주소 즉 Goods class를 통해 생성된 객체 내의 data 영역의 uid전역변수에 "id002" 값을 세팅한다.
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=u02.uid;
o01.ocount=3;
o01.oprice=g01.pjungsang;
o01.ototal = (o01.ocount * o01.oprice);
o01.oaddress ="금암동";
oPrint(o01);
User u03 = new User();
u03.uid = "id003";
u03.upw = "pw003";
u03.uphone = "010-003";
u03.ugender = '여';
u03.uage = 31;
u03.ulevel = "판매자";
uPrint(u03);
Goods g02 = new Goods();
g02.pcode ="p002";
g02.uid = u03.uid;
g02.pname = "선풍기";
g02.pjungsang = 50000;
g02.phalin = 40000;
g02.psangse ="시원해";
gPrint(g02);
Order o02 =new Order();
o02.ocode= "o002";
o02.pcode= g02.pcode;
o02.uid=u03.uid;
o02.ocount=5;
o02.oprice=g02.pjungsang;
o02.ototal = (o02.ocount * o02.oprice);
o02.oaddress ="서신동";
oPrint(o02);
User u04 = new User();
u04.uid = "id004";
u04.upw = "pw004";
u04.uphone = "010-004";
u04.ugender = '여';
u04.uage = 32;
u04.ulevel = "관리자";
uPrint(u04);
Goods g03 = new Goods();
g03.pcode = "p003";
g03.uid = u04.uid;
g03.pname ="사과박스";
g03.pjungsang = 100000;
g03.phalin = 80000;
g03.psangse ="SW개발용";
gPrint(g03);
Order o03 =new Order();
o03.ocode= "o003";
o03.pcode= g03.pcode;
o03.uid=u04.uid;
o03.ocount=2;
o03.oprice=g03.pjungsang;
o03.ototal = (o03.ocount * o03.oprice);
o03.oaddress ="덕진동";
oPrint(o03);
}
//회원 출력하는 메서드 선언
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("--- 회원가입 내역 End ---");
}
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("--- 상품관리 내역 End ---");
}
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("--- 주문관리 내역 End ---");
}
}
호출 결과 (콘솔창 내용)
--- 회원가입 내역 ---
null<- 아이디
null<- 비밀번호
null<- 전화번호
<- 성별 0
<- 나이
null<- 권한
--- 회원가입 내역 End ---
--- 회원가입 내역 ---
id001<- 아이디
pw001<- 비밀번호
010-001<- 전화번호
남<- 성별
20<- 나이
구매자<- 권한
--- 회원가입 내역 End ---
--- 회원가입 내역 ---
id002<- 아이디
pw002<- 비밀번호
010-002<- 전화번호
여<- 성별
30<- 나이
판매자<- 권한
--- 회원가입 내역 End ---
--- 상품관리 내역 ---
p001
id002
노트북
2000000
1000000
SW개발용
--- 상품관리 내역 End ---
--- 주문관리 내역 ---
o001
p001
id002
3
2000000
6000000
금암동
--- 주문관리 내역 End ---
--- 회원가입 내역 ---
id003<- 아이디
pw003<- 비밀번호
010-003<- 전화번호
여<- 성별
31<- 나이
판매자<- 권한
--- 회원가입 내역 End ---
--- 상품관리 내역 ---
p002
id003
선풍기
50000
40000
시원해
--- 상품관리 내역 End ---
--- 주문관리 내역 ---
o002
p002
id003
5
50000
250000
서신동
--- 주문관리 내역 End ---
--- 회원가입 내역 ---
id004<- 아이디
pw004<- 비밀번호
010-004<- 전화번호
여<- 성별
32<- 나이
관리자<- 권한
--- 회원가입 내역 End ---
--- 상품관리 내역 ---
p003
id004
사과박스
100000
80000
SW개발용
--- 상품관리 내역 End ---
--- 주문관리 내역 ---
o003
p003
id004
2
100000
200000
덕진동
--- 주문관리 내역 End ---
흐름
'JAVA' 카테고리의 다른 글
[JAVA] JAVA 기초 문법 ③ - 하나의 패키지의 서로다른 클래스에서 메서드 선언 및 호출 (0) | 2020.03.04 |
---|---|
[JAVA] JAVA 기초 문법 ② - 하나의 패키지의 서로다른 클래스에서 메서드 선언 및 호출 ⑵ (0) | 2020.03.03 |
[JAVA] JAVA 기초 문법 ① - 하나의 패키지 내 하나의 클래스에서 메서드 선언 및 호출 (2) (0) | 2020.02.25 |
[JAVA] JAVA 기초 문법 ① - 하나의 패키지 내 하나의 클래스에서 메서드 선언 및 호출 (1) (0) | 2020.02.24 |