(1) 클래스와 객체 붕어빵틀? 붕어빵?
클래스와 객체를 설명할 때 붕어빵틀과 붕어빵으로 주로 예시를 든다. 해당 예시는 솔직히 처음 배우는 입장에서는 전혀 예시를 통해 이해를 하기가 쉽지는 않을 것이다. 예시를 든 이해보다는 정확한 이해를 하기 위해 여기서 예시는 생략한다.
(2) 클래스와 객체란?
클래스란?
자바 언어를 활용해 코드를 작성하다 보면, 해당 코드를 작성할 파일이 필요하다. 해당 파일 내부에 class 키워드가 붙으면 해당 파일은 자바 소스코드를 작성할 수 있는 클래스 파일이 된다. 이것이 클래스이다.
객체란?
자바에서는 new 키워드를 이용해 객체를 생성할 수 있다. 런타임에 하나의 클래스를 가지고 동일한 객체들을 여럿 생성할 수 있게 된다. 즉, 객체는 클래스의 정보를 토대로 동적으로 만들어지는 복사본을 의미하게 된다.
(3) 예시 코드
클래스와 객체의 이해를 위한 예시 코드이다.
public class Main {
public static void main(String[] args) {
Car audi = new Car();
Car hyundai = new Car();
Car benz = new Car();
}
}
public class Car {
public Car(){} // 기본 생성자
}
위의 예시를 통해 보면 "new Car()" 를 통해 각각 아우디, 현대, 벤츠 라는 변수명으로 객체를 현재 3개를 만들고 있습니다
여기서 클래스는 Car이며, 객체는 new Car()가 객체라고 생각하면 되겠습니다. ( 자세한 설명은 밑에서, 일단 넘어가고 )
위의 예시에서 포인트는 객체를 3개를 만드는 것 입니다. Car클래스는 하나인데 위의 코드처럼 new Car()를 통해 이름만 다르지 결국 같은 생김새를 가진 객체를 3개를 만들 수 있는 것을 확인할 수 있습니다.
이제 여기서 붕어빵틀이 클래스, 붕어빵은 객체라는 예시를 적용시켜 보겠습니다.
붕어빵틀은 하나로 여러개의 붕어빵을 찍어낼 수 있는 효율적인 틀입니다. 위의 코드 예시와 비교를 해보면 매우 비슷한 동작원리로 돌아간다는 것을 알 수 있습니다. 이렇듯 "클래스는 하나만 존재 할 수 있고 객체는 여러개 존재할 수 있다." 라는점을 알 수 있습니다. (해당 클래스로 여러개의 객체를 찍어내는 것이기 때문)
'Java' 카테고리의 다른 글
[Java] 변수 초기화에 대한 이해 (0) | 2024.11.05 |
---|---|
[Java] Annotation 이란? ( 애노테이션 ) (0) | 2024.11.05 |
[Java] JVM 동작 원리 (0) | 2024.10.23 |
[Java] 상속 ( Extends ) (1) | 2024.05.01 |
[Java] 예외 ( Exception ) (2) | 2024.04.26 |