이전 걸음에서 class에 대한 설명을 여러 가지로 드렸습니다. 그러면 실제로 class를 만들어 보고 그 class를 객체화를 진행해서 사용을 할 수 있게 해봐야 한다고 생각을 합니다. 당연히 이전 걸음으로 이해를 다 하셨다고 생각을 하실 수 있지만 좀 더 이해를 돕고자 예제를 이용한 class를 해보겠습니다.
class를 원론적으로 이해를 했다고 해서 실제 소스 코드를 구현이 잘 될 수 있을 까요? 당연히 저는 힘들다고 생각을 합니다. 예제 소스를 보고 사용법에 대한 이해와 활용을 배워야 하면 또 더 나아가서 문제를 풀어 봐야 좀 더 프로그래밍을 하는데 도움이 될 수 있다고 생각을 합니다. 이번 걸음에서는 예제를 확인하면서 사용법에 대해서 자세히 알아보겠습니다.
class 선언과 사용 예제를 한번 해보겠습니다. class는 선언만 알아도 안되고 사용만 알아도 안됩니다. 그렇기 때문에 공존하듯 선언과 사용을 동시에 알아야 합니다. 이번 걸음에서 class 선언도 해보고 사용도 함께 할 수 있도록 하겠습니다.
class 관련 소스
class A{
int a; // 속성
//긴기능
void print(){
System.out.println("a는"+a+"입니다.");
}
}
public class classTest{
public static void main(String[] args){
A a = new A();
a.a = 10;
a.print();
A a1 = new A();
a1.print();
}
}
위의 예제와 설명에서 볼 수 있듯이 class를 선언을 하고 꼭 (new + 생성자)를 호출이 되어야 객체가 생성이 됩니다. 객체가 생성이 되면 class 안에 있는 속성이나 기능을 사용을 할 수가 있습니다. 여기서 중요한 것은 (new + 생성자)가 불리면 객체 하나가 생성이 된 것이고 (new + 생성자)가 또 불린다면 또 다른 객체가 생성이 된 것이기 때문에 객체가 총 2개가 되는 것입니다. 아무리 똑같은 class로 만들어 졌다고 하여도 엄연히 서로 다른 것이기 때문에 print() 메소드 호출 시 같은 결과가 나오지 않습니다.
a변수 객체는 10이 나오고 a1변수 객체는 값을 따로 넣어주지 않았기 때문에 0이 출력이 됩니다.
※ 같은 클래스로 만들어진 객체라고 해서 같은 것은 아닙니다. 꼭 참고 해주세요.
※ 객체 생성 시 속성들은 자료형에 맞는 default 값이 들어갑니다. int -> 0 / double -> 0.0 / boolean -> false 객체 -> null 이 들어가게 됩니다.