-
같은 package 서로다른 class 에서 메서드 호출 선언■ 개발 정리/JAVA 2017. 8. 22. 11:47
같은 package 서로다른 class 에서 메서드 호출 선언하는 법
메서드를 호출할 main메서드가 있는 클래스와 메서드가 호출되어 사용되는 main메서드가 없는 클래스를 만든다.
main메서드가 없는 클래스에는 사용될 변수 및 메서드를 선언한다.
main메서드가 있는 클래스에서 main메서드가 없는 클래스에 선언되어있는 변수나 메서드를 사용하기 위해서는 User u01 = new User(); 같은 식을 통해 사용하고자하는 클래스(User)의 data type으로 객체참조변수(u01)를 선언하고 생성자메서드(new User();-이때 메서드 명은 사용하고자 하는 클래스 명과 같아야한다.)를 통해 객체를 생성하고 그 객체의 주소를 객체참조변수에 할당한다.
주소값을 할당받은 객체참조변수를 이용하여 객체안에 있는 변수에 값을 할당 시킬수 있다.(ex u01.uid="id001";) 그리고 생성된 객체안에 있는 변수 안의 값을 가져올수 있다.(ex u01.uid 아래에서는 메서드에 입력값으로 사용하여 매게변수로인해 getu.uid 로 사용됨)
이런식으로 main메서드가 없는 클래스를 통해 객체를 생성하고 객체참조변수안에 생성된 객체의 주소를 할당, 그 안에 있는 변수및 메서드를 활용한다.
============main 메서드가 있는 클래스 (다른 클래스에 있는 메서드를 호출)- package kr.or.ksmart.A;
- public class AA2 {
- //회원관리클래스(user)통해서 객체를 생성(3명의 회원관리)
- User u01 = new User();
- //클래스(객체,object)data type(ex: User)으로 객체참조변수(ex: u01)를 생성하고
- //생성자 메서드(ex: new User();)를 통해 객체를 생성하고 생성된 객체의 주소를 객체참조변수에 할당한다.
- Goods g01 = new Goods();
- Order o01 = new Order();
- user_print(u01);
- u01.uid="id001";
- //객체참조변수(u01)을 이용하여 생성된 객체 안의 변수에 값을 대입한다.
- u01.upw="pw001";
- u01.uphone="010-0001";
- u01.us='남';
- u01.uage=20;
- u01.ulevel="구매자";
- user_print(u01);
- //객체참조변수(u01)를 user_print메서드의 입력값으로 하여 객체참조변수 안에 있는
- //생성된 객체의 주소값을 메서드의 입력값으로 한다.
- goods_print(g01);
- g01.pcode = "p001";
- g01.uid = u01.uid;
- g01.pname = "노트북";
- g01.pjungsang = 2000000;
- g01.phalin = 1000000;
- g01.psangse = "SW개발용";
- goods_print(g01);
- order_print(o01);
- 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 = "금암동";
- order_print(o01);
- }
- //주문관리 메서드 선언
- public static void order_print(Order geto){
- }
- //상품조회 메서드 선언
- public static void goods_print(Goods getg){
- }
- //회원조회 메서드 선언
- // User getu = u01;
- //User getu = kr.or.ksmart.A.User@1db9742
- public static void user_print(User getu){
- //parameter(매게변수) data type을 생성된 객체와 같은 클래스로 하고 생성된 객체의 주소값을
- //parameter(매게변수)인 getu에 대입한다.
- //parameter(매게변수)를 이용하여 생성된 객체안의 uid안에 있는 값을 불러온다.
- }
- }
=======main 메서드가 없는 클래스 (변수 및 메서드 선언만 가능)
--- User 클래스
- package kr.or.ksmart.A;
- public class User {
- //회원관리 클래스
- //전역변수 (global variable)
- //필드(Field)
- //맴버변수 = 맴버필드
- //프로퍼티(property)
- String uid;
- String upw;
- String uphone;
- char us;
- int uage;
- String ulevel;
- }
--- Goods 클래스
- package kr.or.ksmart.A;
- public class Goods {
- //상품관리 클래스
- //전역변수 (global variable)
- //필드(Field)
- //맴버변수 = 맴버필드
- //프로퍼티(property)
- String pcode; //상품코드
- String uid; //판매자 아이디
- String pname; //상품명
- int pjungsang; //정상가
- int phalin; //할인가
- String psangse; //상세설명
- }
--- Order 클래스
- package kr.or.ksmart.A;
- public class Order {
- //주문관리 클래스
- //전역변수 (global variable)
- //필드(Field)
- //맴버변수 = 맴버필드
- //프로퍼티(property)
- String ocode; //주문코드
- String pcode; //상품코드
- String uid; //구매자 아이디
- int ocount; //구매수량
- int oprice; //구매단가
- int ototal; //결제예정금액
- String oaddress; //받는주소
- }
'■ 개발 정리 > JAVA' 카테고리의 다른 글
생성자 메서드 오버로딩 (0) 2017.08.22 java로 기능 분리후 사용 (0) 2017.08.22 오버로딩(Overloading) 과 오버라이딩(Overriding) (0) 2017.08.22 서로다른 package 내의 class 에서 메서드 호출 선언 (0) 2017.08.22 JAVA 기초문법 (0) 2017.08.22