Developer Factory

12. JAVA 간단 계산기 테스트 4차 - 인스턴스 메서드와 this 본문

Developer/Java

12. JAVA 간단 계산기 테스트 4차 - 인스턴스 메서드와 this

Jeremy.Park 2014. 7. 3. 00:10
Test04.java

package step01.exam02;

public class Test04 {
       public static void main( String[] args) {
             //10 + 30 - 4 * 7 = 252 (연산자 우선순위 고려하지 않음)
             //5 * 3 - 6 / 3 = 3 (연산자 우선순위 고려하지 않음)

             Calculator04 calc1 = new Calculator04();
             Calculator04 calc2 = new Calculator04();            
            
             calc1.init( 10);         
             calc2.init( 5);          

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

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

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

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

Calculator04.java

package step01.exam02;

/* 인스턴스 메서드와 this
 * - 인스턴스 메서드: 인스턴스를 사용하여 작업을 수행하는 메서드
 * - static을 붙이지 않는다.
 * - 인스턴스 주소를 갖고 있는 this라는 감춰져 있는 변수가 있다.
 * - 코딩이 간결해 진다.
 */
public class Calculator04 {
       public int result ;     // 인스턴스를 만들 때 준비해야 할 변수
      
      
       // 인스턴스 주소를 받기 위해 파라미터를 별도록 선언할 필요가 없다.
       // 메서드가 호출될 때 자동으로 this 변수에 인스턴스 주소가 저장된다.
      
       public void init(/*Calculator04 this, */ int v) {
             this.result = v ;
      }
      
       public void plus(int v) {
             this.result += v ;
      }
      
       public void minus(int v) {
             this.result -= v ;
      }
      
       public void multiple(int v) {
             this.result *= v ;
      }
      
       public void divide(int v) {
             this.result /= v ;
      }
}