본문 바로가기

KOSTA : 클라우드 네이티브 애플리케이션 개발 전문가 양성과정

04/30 15일차 객체지향언어I : 변수와 메서드

728x90

Lec06Calc.java
0.00MB
Lec06메서드.java
0.00MB
Lec06객체.java
0.00MB

클래스변수와 인스턴스변수

- 인스턴스 변수는 인스턴스가 생성될 때 마다 생성되므로 인스턴스마다 각기 다른 값을 유지합니다.

- 클래스 변수는 모든 인스턴스가 하나의 공간을 공유하므로 항상 공통된 값을 갖는다.

 

class Card{
	static int width = 250; // 카드의 폭
    static int height = 100; // 카드의 넓이
    
    String kind; // 카드 모양
    int num; // 카드 번호
}

 

 인스턴스 메서드

- 인스턴스 생성 후 '참조변수.메서드이름()' 으로 호출합니다.

- 메서드내에 인스턴스 변수 사용 가능합니다.

 

클래스메서드

- 객체 생성없이 '클래스이름.메서드이름()'으로 호출합니다.

- 메서드내에서 인스턴스 변수 사용 불가합니다.

- 메서드내에서 인스턴스 변수를 사용하지 않는다면 static을 붙이는 것을 고려합니다.

 

class MyMath{
	public int add(int a, int b){
    	return a+b;
    }
    public static int mul(int a, int b){
    	return a*b;
    }
}

class MyMath_test{
	public static void main(String[] args){
    	int num1 = MyMath.mul(9,9); // 클래스 메서드라 인스턴스 생성 필요하지 않다
        System.out.println(num1); // 출력: 81
        
        MyMath mm = new MyMath(); // 인스턴스 생성후 인스턴스 메서드 실행 한다.
        int num2 = mm.add(9,9);
        System.out.println(num2); // 출력: 18
    }
}