[Java] Class란?

date:

Updated:


Categories:

Tags:

Class란?

Class의 정의 : 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수(속성)메소드(기능)를 정의하는 일종의 틀.

객체와 인스턴스

  • 객체(Object) : 클래스에서 정의한 속성과 기능을 가지는 실체
  • 인스턴스(Instance) : 특정 클래스로부터 생성된 객체
public class TwoNumber{
  int numA;
  int numB;

  int addTwoNumber(){
    return numA+numB;
  }
}
public class ThreeNumber{
  int numA;
  int numB;
  int numC;
}
public class Main {
    public static void main(String[] args) {
        TwoNumber twoNumber = new TwoNumber();
        twoNumber.numA = 1;
        twoNumber.numB = 2;
        System.out.println(twoNumber.addTwoNumber());
    }
}

위 코드에서 numA, numB는 멤버변수, addTwoNumber()는 메소드이다.
위 코드에서 twoNumber, threeNumber는 객체이다.
twoNumber는 TwoNumber 클래스의 인스턴스이다.

객체와 인스턴스는 보통 구분하지 않고 사용하지만 위와 같은 차이가 있다.

new TwoNumber()에서 new 키워드는 클래스 정보를 기반으로 새로운 객체를 메모리에 생성한다.
이 new 키워드는 인스턴스의 reference 값(주소값)을 반환한다.
이 reference 값에 .(dot)을 사용하여, 원하는 멤버변수에 접근할 수 있다.(twoNumber.numA)
reference type에 관련한 자세한 내용은 다음 포스트에서 다루도록 하겠다.

Leave a comment