Java

[Java] 객체와 클래스

YaluStar 2019. 1. 12. 16:47

클래스(Class)


클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다.

클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다.

예를 들면 자동차 객체는 자동차 클래스의 인스턴스이다.


클래스로부터 객체를 만드는 과정을 인스턴스화라고 한다.


클래스 중 main() 메소드가 없는 클래스는 객체 생성 과정을 거쳐 사용해야 한다.



클래스의 이름을 작성할 때 규칙이 있다.

1. 하나 이상의 문자로 이루어져야 한다.

2. 첫 번째 글자는 숫자가 올 수 없다.

3. $, _ 외의 특수 문자는 사용할 수 없다.

4. 자바 키워드는 사용할 수 없다. (int, for, while 등)


권장 및 주의사항

* 한글을 사용해도 상관없지만, 영어를 사용하는 것을 권장한다.

* 영어 대소문자다른 문자로 취급한다.

* 첫글자는 대문자로 하고 나머지는 소문자로 작성한다.

* 혼합단어일경우 각 단의 첫글자는 대문자로 작성한다.


소스 파일 생성시 “클래스이름.java”로 생성해야 한다.

ex) Car.java 파일

     public class Car {

     }


객체를 생성시킬 때는 new 연산자를 사용한다.

사용방식  1

 클래스 변수;

 변수 = new 클래스()

사용방식 2

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


ex)

Car.java

public class Car {

}

-------

CarExample.java

public class CarExample {

 public static void main(String[] args) {

    Car c1 = new Car();

    Car c2;

    c2 = new Car();

 }

}


다음과 같은 방식으로 객체를 생성하여 사용할 수 있다.



클래스의 구성 멤버


구성 멤버로는 필드(Field), 생성자(Constructor), 메소드(Method)가 있다.

생략되거나 복수 개가 작성될 수 있다.


ex) public class Test {

     // 필드

     int filedName;


     // 생성자

     ClassName() { }


     // 메소드

     void methodName() { }

}


필드(Field)

객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳이다.

선언은 변수와 비슷하지만 다르다.

필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸하지 않는 한 객체와 함께 존재한다.


생성자(Constructor)

객체 생성 시 초기화를 담당한다.

메소드와 비슷하게 생겼지만, 클래스 이름으로 되어 있고 리턴 타입이 없다.


메소드(Method)

메소드를 호출하게 되면 중괄호 블록에 있는 모든 코드가 실행된다.

필드를 읽고 수정하는 역할도 하지만, 다른 객체를 생성해서 다양한 기능을 수행하기도 한다.

객체 간의 데이터 전달의 수단으로 사용되며, 외부로부터 매개 값을 받을 수 도 있고, 실행 후 값을 리턴할 수도 있다.



이상으로 객체와 클래스에 대하여 간단하게 알아보았습니다.

감사합니다.


반응형