프로그래밍 언어/Java

java 2강 class 내의 method

happy_life 2021. 10. 13. 12:43

class를 통해 직접적으로 실행할 수 있는 method 

 

비교 코드
package src;

class Calculator{
	static double base = 0;
	int left,right;
	
	public void setOprands(int left,int right) {//static이 없다 in 인스턴스 메소드
		this.left = left;
		this.right = right;
	}
	
	public void sum() {
		System.out.println(this.left+this.right+base);
	}
}

public class CalculatorDemo4 {

	public static void main(String[] args) {
		Calculator c1 = new Calculator();
		c1.setOprands(10, 20);
		
		c1.sum();
		Calculator.base = 10;
		c1.sum();
	}	
}

결괏값

위의 코드같은 경우 c1이라는 객체를 생성하고 그 객체안의 method를 통해 값을 호출했다. 하지만

이렇게 객체를 선언하지 않고도, class 내에 method를 만들어 같은 결과를 도출할 수 있다.

 

 

class 내의 method 코드예제
package src;

class Calculator{
	static double base = 0;
	int left,right;
	
	
	public static void sum(int left,int right) { //static이 있다 in class method
		System.out.println(left+right+base);
	}
}

public class CalculatorDemo4 {

	public static void main(String[] args) {
		
		Calculator.sum(10, 20);
		Calculator.base = 10;
		Calculator.sum(10, 20);
	}
	
}

 

코드 사용의 차이 

 

객체 c1 ,c2 등이 다른 값을 가진 채 고정되어 있어야하는 경우 비교 코드같이 객체를 활용하지만,

class method 예제코드같은 경우 어떤 셋팅된 상태를 공유할 필요가 없이 일회용물품처럼 한번만 사용할 경우에 활용