Language/JAVA

[JAVA] 클래스

IT수정 2024. 9. 4. 11:21

객체를 생성할 때에는 설계도가 필요하다. 현실 세계에서 자동차를 생성하려면 자동차의 설계도가 필요하듯이, 객체지향 프로그래밍에서도 객체를 생성하려면 설계도에 해당하는 클래스(Class)가 필요하다.

 

클래스로부터 생성된 객체를 해당 클래스의 인스턴스(Instance)라고 부른다. 그리고 클래스로부터 객체를 만드는 과정을 인스턴스화라고 한다. 동일한 클래스로부터 여러 개의 인스턴스를 만들 수 있는데, 이것은 동일한 설계도로 여러 대의 자동차를 만드는 것과 동일하다.

 

클래스 선언

클래스 선언은 객체 생성을 위한 설계도를 작성하는 작업이다. 클래스 선언은 소스 파일명과 동일하게 다음과 같이 작성한다.

public class 클래스명 {
}

 

public class는 공개 클래스를 선언한다는 뜻이다. 클래스명은 첫 문자를 대문자로 하고 캐멀스타일로 작성한다. 숫자를 포함해도 되지만 첫 문자는 숫자가 될 수 없고, 특수문자 중 $, _를 포함할 수 있다. 또한 하나의 소스 파일은 복수 개의 클래스 선언을 포함할 수 있다. 주의할 점은 소스 파일명과 동일한 클래스만 공개 클래스로 선언할 수 있다는 것이다.

 

객체 생성과 클래스 변수

클래스로부터 객체를 생성하려면 객체 생성 연산자인 new가 필요하다.

new 클래스()

 

new 연산자 뒤에는 생성자 호출 코드가 오는데, 클래스() 형태를 가진다. new 연산자는 객체를 생성시킨 후 객체의 주소를 리턴하기 때문에 클래스 변수에 다음과 같이 대입할 수 있다.

클래스 변수 = new 클래스();

 

클래스의 구성 멤버

클래스 선언에는 객체 초기화 역할을 담당하는 생성자와 객체에 포함될 필드와 메서드를 선언하는 코드가 포함된다. 그래서 생성자, 필드, 메서드를 클래스 구성 멤버라고 한다. 다음은 각 클래스 구성 멤버의 선언 형태이다.

public class ClassName {
	int fieldName; // 필드 선언
    ClassName() {...} // 생성자 선언
    int methodName() {...} // 메서드 선언
    }

 

필드

객체의 데이터를 저장하는 역할을 한다. 선언 형태는 변수 선언과 비슷하지만 쓰임새는 다르다.

 

생성자

new 연산자로 객체를 생성할 때 객체의 초기화 역할을 담당한다. 선언 형태는 메서드와 비슷하지만, 리턴 타입이 없고 이름은 클래스 이름과 동일하다.

 

메서드

객체가 수행할 동작이다. 다른 프로그램 언어에서는 함수라고 하기도 하는데, 객체 내부의 함수는 메서드라고 부른다. 메서드는 객체와 객체간의 상호작용을 위해 호출된다.

'Language > JAVA' 카테고리의 다른 글

[JAVA] 생성자  (2) 2024.09.04
[JAVA] 필드  (0) 2024.09.04
[JAVA] 객체지향 프로그래밍  (3) 2024.09.04
[JAVA] 다차원 배열  (0) 2024.09.03
[JAVA] 배열(Array)  (0) 2024.09.03