멋쟁이v의 개발일지

[JAVA] 서로다른 클래스, 패키지/클래스 메서드 선언 및 호출 본문

0년차/JAVA

[JAVA] 서로다른 클래스, 패키지/클래스 메서드 선언 및 호출

멋쟁이v 2023. 5. 2. 21:22
728x90
320x100

[목차]


01. 서로다른 클래스의 메서드 선언 및 호출

💡
객체 생성 후 객체참조변수에 따라가서 선언된 메서드를 호출합니다.
  • 하나의 패키지내 서로 다른 클래스 (main 메서드 포함 클래스)

    ➡️ [코드예제] AA01.java

    package kr.or.ksmart.a;
    
    public class AA01_1 {
    
    	public static void main(String[] args) {
    		// a 메서드 호출
    		BB01_1 b = new BB01_1();
    		b.a();
    	}
    }

    ➡️ [코드예제] AA02.java

    package kr.or.ksmart.a;
    
    public class AA02_2 {
    
    	public static void main(String[] args) {
    		
    		User u = new User();
    		BB02_2 check = new BB02_2();
    		
    		u.setUid("id001");
    		u.setUpw("pw001");
    		u.setUphone("010-0001");
    		u.setUgender('남');
    		u.setUage(20);
    		u.setUlevel("판매자");
    		check.levelCheck(u);
    
    	}
    }

    ➡️ [코드예제] AA03.java

    package kr.or.ksmart.a;
    
    public class AA03_1 {
    
    	public static void main(String[] args) {
    		
    		// a메서드 호출 후 리턴 값을 result1 변수에 담아 출력!
    		BB03_1 bb = new BB03_1();
    		int result1 = bb.a();
    		String str = bb.b();
    		char gender = bb.c();
    		System.out.println(result1);
    		System.out.println(str);
    		System.out.println(gender);
    
    	}
    }

    ➡️ [코드예제] AA04.java

    package kr.or.ksmart.a;
    
    public class AA04_2 {
    
    	public static void main(String[] args) {
    		
    		User u02 = new User();
    		u02.setUid("id002");
    		u02.setUpw("pw002");
    		u02.setUphone("010-0002");
    		u02.setUgender('여');
    		u02.setUage(30);
    		u02.setUlevel("판매자"); // 판매자 or 구매자
    		
    		if (u02.getUlevel().equals("판매자")) {
    			System.out.println("상품 등록 가능");
    			
    			Goods g01 = new Goods();
    			g01.setPcode("p001");
    			g01.setUid(u02.getUid());
    			g01.setPname("노트북");
    			g01.setPjungsang(2000000);
    			g01.setPhalin(1000000);
    			g01.setPsangse("SW개발용");
    			
    			BB04_2 bb = new BB04_2();
    			Order result = bb.test(u02, g01);
    			System.out.println(result);
    			
    			if (result != null) {
    				System.out.println("주문내역이 있다.");
    				TotalPrint tp = new TotalPrint();
    				tp.oPrint(result);
    			} else {
    				System.out.println("주문내역이 없다.");
    			}
    			
    		} else {
    			System.out.println("상품 등록 불가능");
    		}
    
    	}
    
    }

  • 하나의 패키지내 서로 다른 클래스 (main 메서드 포함하지 않는 클래스)

    ➡️ [코드예제] BB01.java (리턴 없고 입력 없는)

    package kr.or.ksmart.a;
    // 5. 리턴 없고 입력 없는 메서드 선언
    public class BB01_1 {
    	// 메서드 선언
    	public void a() {
    		System.out.println("01 a메서드 실행");
    	}
    }

    ➡️ [코드예제] BB02.java (리턴 없고 입력 있는)

    package kr.or.ksmart.a;
    
    public class BB02_2 {
    	
    	
    	public void levelCheck(User u) {
    		if (u.getUlevel() == "판매자") {
    			
    			TotalPrint tp = new TotalPrint();
    			Goods g = new Goods();
    			
    			g.setPcode("p001");
    			g.setUid(u.getUid());
    			g.setPname("노트북");
    			g.setPjungsang(2000000);
    			g.setPhalin(1000000);
    			g.setPsangse("SW개발용");
    			
    			tp.gPrint(g);
    		}else {
    			System.out.println("판매자 권한이 없어요");
    		}
    	}
    }

    ➡️ [코드예제] BB03.java (리턴 있고 입력 없는)

    👉🏻
    1. User, Goods, Order 타입 2. 메서드 처리과정 3. 리턴 받은 후 처리과정
    package kr.or.ksmart.a;
    
    public class BB03_1 {
    	
    	public int a() {
    		System.out.println("01 a 메서드 실행 a BB03_1.java");
    		return 10;
    	}
    	public String b() {
    		System.out.println("01 a 메서드 실행 a BB03_1.java");
    		return "리턴값";
    	}
    	public char c() {
    		System.out.println("01 a 메서드 실행 a BB03_1.java");
    		return '여';
    	}
    
    }

    ➡️ [코드예제] BB04.java (리턴 있고 입력 있는)

    package kr.or.ksmart.a;
    
    public class BB04_2 {
    	
    	public Order test(User u, Goods g) {
    		System.out.println("test 메서드 실행");
    		
    		Order o01 = null;
    		
    		User u01 = new User();
    		u01.setUid("id001");
    		u01.setUpw("pw001");
    		u01.setUphone("010-0001");
    		u01.setUgender('남');
    		u01.setUage(20);
    		u01.setUlevel("판매자"); // 구매자 or 판매자
    		
    		if (u01.getUlevel().equals("구매자")) {
    			System.out.println("구매자 권한");
    			
    			o01 = new Order();
    			o01.setOcode("o001");
    			o01.setPcode(g.getPcode());
    			o01.setUid(u01.getUid());
    			o01.setOcount(3);
    			o01.setOprice(g.getPjungsang());
    			o01.setOtotal(o01.getOcount() * o01.getOprice());
    			o01.setOaddress("금암동");
    			
    		} else {
    			System.out.println("구매자 권한 없음");
    		}
    		
    		return o01;
    	}
    
    }

02. 서로다른 패키지/클래스 메서드 선언 및 호출

💡
import 패키지명.클래스명; ( . 도트연산자 )
  • [코드예제] AA01_1.java
    package kr.or.ksmart.A;
    
    //import kr.or.ksmart.B.BB01_1;
    // import 타자 치고 패키지명 복사 후 붙여넣기
    // . (도트연산자) 타자 치고 클래스명 복사 후 붙여넣기
    // ; (세미콜론) 타자 치고 완성
    import kr.or.ksmart.B.BB01_1;
    
    public class AA01_1 {
    
    	public static void main(String[] args) {
    		
    		BB01_1 bb = new BB01_1();
    		bb.a();
    		
    	}
    }

  • [코드예제] BB01_1.java
    package kr.or.ksmart.B;
    // 5. 리턴 없고 입력 없는 메서드 선언
    public class BB01_1 {
    	// 메서드 선언
    	public void a() {
    		System.out.println("01 a메서드 실행");
    	}
    }


tag : #java #객체 #클래스 #패키지 #메서드 #선언 #호출 #import


Uploaded by N2T

728x90
320x100
Comments