본문 바로가기

Languages/JAVA

[JAVA] 클래스의 모든 것 #1 - 클래스의 개념과 용도

클래스를 알아봅시다! 😉


클래스란,

유사한 특징을 지닌 객체들의 속성을 묶어 놓은 집합체입니다.

 

무슨말인지 이해가 잘 안가는 사람도 있을 것 같은데 예시를 보면서 알아나가봅시다 !


자동차를 클래스로 만들어봅시다.

자동차에는 이름, 브랜드, 색과 같은 다양한 속성과 달리는 기능 등 여러 기능들이 모여있습니다.

이러한 속성들과 기능들을 합쳐놓으면 밑의 예제와 같이 만들 수 있습니다.

속성은 필드, 기능은 메소드로 표현할 수 있습니다.

public class Car {

	public String name;
	public String brand;
	public void drive() {
		System.out.println("부릉부릉 달려요!");
	}
	
}

이렇게 만들어진 클래스는 데이터 타입이 될 수 있습니다.

데이터 타입은 int, long, double 과 같은 것 들만 될 수 있는 것이 아니라 자신이 설계한 클래스로 다양한 데이터 타입을 만들 수 있습니다.

Car car1;

바로 이렇게 만들 수 있습니다.

int num;
float num2;

다른 데이터 타입들과 비교해보면 잘 이해하실 수 있을 것입니다!


그리고 클래스는 객체의 설계도 역할을 합니다. 클래스는 붕어빵틀, 객체는 붕어빵이라고 생각하시면 쉬울 것 같습니다.

new Car();

이렇게 해서 자동차라는 객체들을 여러개 생성할 수 있습니다.


 

Car car1 = new Car();

위에서 설명한 클래스는 데이터 타입이 될 수 있다는 것과 합치면 이렇게 표현할 수 있겠죠?


//Car 클래스로 객체를 생성하고 그 참조값을  car1이라는 car type 지역변수에 담기
Car car1 = new Car();
//car1 객체의 name이라는 필드에 저장된 값을 a라는 이름의 String type 지역변수에 담기
String a = car1.name;
//car1 객체의 drive라는 메소드 호출하기
car1.drive();

이렇게 생성된 객체로 클래스의 안에 있는 메소드들을 사용할 수 있습니다.


Car car1 = new Car();
Car car2 = new Car();

car1.brand = "현대";
car2.brand = "기아";

car1.showBrand();
car2.showBrand();

클래스는 붕어빵 틀이라고 하였으니 이 틀로 많은 붕어빵들을 만들 수 있습니다. 즉, 많은 객체를 만들 수 있다는 소리가 됩니다. 각각의 객체는 고유한 공간이 있으니 car1의 브랜드는 현대, car2의 브랜드는 기아가 저장되어집니다.