티스토리 뷰
주의 사항!
- 이 글은 제가 직접 공부하는 중에 작성되고 있습니다.
- 따라서 제가 이해하는 그대로의 내용이 포함됩니다.
- 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다.
객체와 클래스
사람들이 자동차를 이용하기 위해서는 우선 자동차를 만들어야 합니다. 그리고 자동차를 만들기 위해서는 자동차 설계도가 필요합니다. 객체 지향 프로그래밍에서도 마찬가지입니다. 메모리에서 사용하고 싶은 객체가 있다면 우선 설계도를 만들어야 합니다.
자바에서는 이 설계도를 '클래스(class)'라고 합니다. 클래스에는 객체를 생성하기 위한 필드와 메서드가 정의되어 있습니다. 클래스로부터 만들어진 객체를 해당 클래스의 '인스턴스(instance)'라고 합니다. 자동차 객체는 자동차 클래스의 인스턴스인 셈입니다. 그리고 클래스로부터 객체를 만드는 과정을 '인스턴스화'라고 합니다. 하나의 클래스로부터 여러 개의 인스턴스를 만들 수 있는데, 이것은 동일한 설계도로부터 여러 대의 자동차를 만드는 것과 동일합니다.
클래스 선언
사용하고자 하는 객체를 구상했다면, 그 객체의 대표 이름을 하나 결정하고 이것을 클래스 이름으로 합니다. 예를 들어 사람 객체의 클래스는 Person으로, 자동차 객체의 클래스는 Car라는 이름을 줄 수 있습니다.
클래스 이름을 정했다면 "클래스 이름. java"로 소스 파일을 생성해야 합니다. 소스 파일을 생성했다면 소스 파일을 열고 다음과 같이 클래스를 선언합니다.
public class Car
{
}
public class 키워드는 클래스를 선언할 때 사용합니다. 클래스 이름 뒤에는 중괄호{}를 붙여주는데 중괄호의 시작은 클래스 선언의 시작을 알려주고 중괄호 끝은 클래스 선언의 끝을 알려줍니다. 위의 코드는 Car클래스를 선언한 것입니다.
다음과 같이 하나의 소스 파일에 두 개 이상의 클래스 선언도 가능합니다.
public class Car
{
}
class Tire
{
}
하지만 일반적으로 소스 파일 하나당 하나의 클래스를 선언합니다. 두 개 이상의 클래스가 선언된 소스 파일을 컴파일하면 바이트 코드 파일은 클래스를 선언한 개수만큼 생깁니다. 결국 소스 파일은 클래스 선언을 담고 있는 저장 단위일 뿐, 클래스 자체가 아닙니다. 위 코드를 컴파일하면 Car.class와 Tire.class가 각각 생성됩니다.
하나의 소스 파일에 두 개 이상의 클래스를 선언할 때 주의할 점은 파일 이름과 동일한 이름의 클래스 선언에만 public 접근 제한자를 붙일 수 있다는 것입니다. 만약 파일 이름과 일치하지 않는 클래스 선언에 public 접근 제한자를 붙이면 컴파일 에러가 발생합니다. 따라서 가급적이면 소스 파일 하나당 동일한 이름의 클래스 하나를 선언하는 것이 좋습니다.
'공부 일지 > JAVA 공부 일지' 카테고리의 다른 글
자바, 클래스의 구성 멤버(필드, 생성자, 메서드) (0) | 2021.04.06 |
---|---|
자바, 객체 생성과 클래스 변수 (0) | 2021.04.06 |
자바, 객체 지향 프로그래밍의 특징(캡슐화, 상속, 다형성) (0) | 2021.04.06 |
자바, 객체 (0) | 2021.04.06 |
자바, 열거 타입 (0) | 2021.04.05 |