[Java] Class란?
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