com.calculator-외부 제공 클래스

CODEDRAGON Development/Java

반응형

   

   

외부 제공 클래스 정의하기

   

   

File Info

   

   

com.calculator

User.java

main부

사용자 사용 클래스

com.calculator

Calculator.java

외부에 노출된 클래스

public으로 클래스 정의

com.calculator

Adder.java

외부에 노출되지 않는 클래스

Calculator클래스를 통해서만 접근

com.calculator

Multiplier.java

외부에 노출되지 않는 클래스

Calculator클래스를 통해서만 접근

com.calculator

Divider.java

외부에 노출되지 않는 클래스

Calculator클래스를 통해서만 접근

com.calculator

Substractor.java

외부에 노출되지 않는 클래스

Calculator클래스를 통해서만 접근

   

   

   

출력결과

   

   

   

소스코드

com.calculator

User.java

package com.calculator;

public class User {

        public static void main(String[] args){
                
                Calculator calcu = new Calculator();

                System.out.println(calcu.add(10, 7));
                System.out.println(calcu.divide(10, 7));
                System.out.println(calcu.subtract(10, 7));
                System.out.println(calcu.times(10, 7));
                
                
                //
직접 객체를 만들어서 사용할 수있지만 공개된어 있는 것은 Calculator이므로 내부에 있는 
                //Adder, Multiplier, Divider, Substractor
클래스의 존재는 알수가 없습니다.
                System.out.println();System.out.println();
//              Adder ad = new Adder();
//              System.out.println(calcu.add(10, 7));
                
//              Divider dv = new Divider();
//              System.out.println(calcu.divide(10, 7));
        }
}

com.calculator

Calculator.java

package com.calculator;

//
계산기 클래스
//
외부에 노출시킬 클래스는 public으로 선언
public class Calculator {

        private Adder adder;
        private  Multiplier multiplier;
        private  Divider divider;
        private  Substractor substractor;
        
        public Calculator( ){
                adder = new Adder();
                multiplier = new Multiplier();
                divider = new Divider();
                substractor = new Substractor();
        }
        
        public int add(int num1, int num2){
                return adder.add(num1, num2);
        }
        int times(int num1, int num2){
                return multiplier.times(num1, num2);
        }
        int divide(int num1, int num2){
                return divider.divide(num1, num2);
        }
        int subtract(int num1, int num2){
                return substractor.subtract(num1, num2);
        }
}

com.calculator

Adder.java

package com.calculator;

public class Adder {
        
        int add(int num1, int num2){
                
                return num1+num2;
        }

}

com.calculator

Multiplier.java

package com.calculator;

public class Multiplier {
        
        int times(int num1, int num2){
                
                return num1*num2;
        }

}

com.calculator

Divider.java

package com.calculator;

public class Divider {

        int divide(int num1, int num2){

                return num1/num2;
        }
}

com.calculator

Substractor.java

package com.calculator;

public class Substractor {

        int subtract(int num1, int num2){

                return num1-num2;
        }
}

 

 

반응형