Developer Factory

11. JAVA 간단 계산기 테스트 3차 - 인스턴스 맴버 변수 본문

Developer/Java

11. JAVA 간단 계산기 테스트 3차 - 인스턴스 맴버 변수

Jeremy.Park 2014. 7. 3. 00:09
Test03.java

package step01.exam02;

/* 계산 결과를 개별적으로 관리하고 싶다!
 * 데이터를 개별적으로 관리
 * - 클래스 맴버 변수로는 불가능!
 * - 새로운 문법이 필요! => 인스턴스 변수(객체변수)
 */

public class Test03 {
       public static void main( String[] args) {
             //10 + 30 - 4 * 7 = 252 (연산자 우선순위 고려하지 않음)
             //5 * 3 - 6 / 3 = 3 (연산자 우선순위 고려하지 않음)
            
             // 인스턴스 생성
             // - Calculator03에 선언된 변수를 참고하여 인스턴스를 생성하라!
             Calculator03 calc1 = new Calculator03();
             Calculator03 calc2 = new Calculator03();
            
            
             Calculator03.init (calc1 ,10 );         
             Calculator03.init (calc2 ,5 );          

             Calculator03.plus (calc1 ,30 );
             Calculator03.multiple (calc2 ,3 );

             Calculator03.minus (calc1 ,4 );   
             Calculator03.minus (calc2 ,6 );   

             Calculator03.multiple (calc1 ,7 );
             Calculator03.divide (calc2 ,3 );

             System. out.println( calc1. result);
             System. out.println( calc2. result);

      }

}

Calculator03.java

package step01.exam02;

/* 인스턴스 맴버 변수
 * - 데이터를 개별적으로 관리할 필요가 있을 때 인스턴스 변수를 사용한다.
 * - 인스턴스 마다 개별적으로 만들어지는 변수
 * - static이 붙지 않는다.
 * - new 연산자를 사용하여 인스턴스 변수를 생성한다.
 */
public class Calculator03 {
       public int result ;     // 인스턴스를 만들 때 준비해야 할 변수
      
     // Calculator03 설계도에 따라서 만든 인스턴스 주소를 담을 변수 that
       public static void init( Calculator03 that , int v) {
             that. result = v;
      }
      
       public static void plus( Calculator03 that , int v) {
             that. result += v;
      }
      
       public static void minus( Calculator03 that , int v) {
             that. result -= v;
      }
      
       public static void multiple( Calculator03 that , int v) {
             that. result *= v;
      }
      
       public static void divide( Calculator03 that , int v) {
             that. result /= v;
      }
}







Test03.html

<!-- 자바 스크립트로 만들어보기 -->

<!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8">
<title> Insert title here</title >
</head>
<body>
<script>
function Calculator03() {
       this.result = 0;
}

Calculator03.prototype.init = function(value){
       this.result = value;
};

Calculator03.prototype.plus = function(value){
       this.result += value;
};
Calculator03.prototype.minus = function(value){
       this.result -= value;
};
Calculator03.prototype.multiple = function(value){
       this.result *= value;
};
Calculator03.prototype.divide = function(value){
       this.result /= value;
};


var calc1 = new Calculator03();
var calc2 = new Calculator03();

calc1.plus(30);
calc2.multiple(3);

calc1.minus(4);
calc2.minus(6);

calc1.multiple(7);
calc2.divide(3);

console.log(calc1.result);
console.log(calc2.result);
</script>
</body>
</html>