클래스 메서드와 인스턴스 메서드

유신·2021년 2월 20일
0

java

목록 보기
5/8

인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다.

--> 반드시 객체를 생성해야만 호출할 수있음

인스턴스와 관계 없는( 인스턴스 변수나 인스턴스 메서드를 사용하지 않는)
메서드를 클래스 메서드로 정의한다.

메서드를 만들 떄 주의사항

  • 클래스를 설계할 떄, 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 붙인다.
  • 클래스 변수는 인스턴스를 생성하지 않아도 사용할 수 있다.
  • 클래스 메서드는 인스턴스 변수를 사용할 수없다
  • 메서드 내에서 인스턴스 변수를 사용하지 않는다면 static을 붙이는 것을 고려 한다.

package Algorithm;

class mymath2{
	long a,b; //인스턴스 변수
	
    
    //인스턴스 메소드
	long add() {return a+b;}
	long subtract() {return a-b;}
	long multiply() {return a*b;} 
	double divide() {return a/b;}
	
	//클래스 메소드 
	static long add(long a, long b) {return a+b;}
	static long subtract(long a, long b) {return a-b;}
	static long multiply(long a, long b) {return a*b;}
	static double divde(double a,double b) {return a/b;}
}

public class array_test {
		public static void main(String[] args) {
			System.out.println("mymath2.add =>"+ mymath2.add(200L,100L)); // 클래스 메소드
			
			mymath2 test1 = new mymath2(); //참조 변수를 선언한뒤  클래스 객체를 생성 하고 객체의 주소를 참조 변수에 저장 
			test1.a= 200L;
			test1.b=200L;
			System.out.println(test1.add()); // 인스턴스 메소드 
			
		}
}



profile
초보개발자

0개의 댓글

관련 채용 정보