JAVA

[JAVA] 객체와 클래스

혼자공부중 2022. 2. 22. 23:41

클래스

  • 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다
  • 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다
  • 클래스로부터 객체를 만드는 과정을 인스턴스화라고 한다

 

클래스 선언

  • 클래스 작성 규칙
    1. 하나 이상의 문자로 이루어져야 한다. ex) Car, SportCar
    2. 첫 번째 글자는 숫자가 올 수 없다. ex) 3Car(x)
    3. '$', '_' 외의 특수 문자는 사용할 수 없다. ex) $Car, _Car, %Car(x), *Car(x)
    4. 자바 키워드는 사용할 수 없다. ex) int(x), if(x)

 

객체 생성과 클래스 변수

  • 클래스로부터 객체를 생성하는 방법은 new 연산자를 사용하면 된다
new 클래스();
  • new 연산자로 생성된 객체는 메모리 힙(heap) 영역에 생성된다
  • new 연산자는 힙 영역에 객체를 생성시킨 후, 객체의 주소를 리턴하도록 되어 있다
  • 이 주소를 참조 타입인 클래스 변수에 저장해 두면, 변수를 통해 객체를 사용할 수 있다
클래스 변수;
변수 = new 클래스();
  • 클래스 변수 선언과 객체 생성을 한 줄로 작성할 수도 있다
클래스 변수 = new 클래스();

 

클래스의 구성 멤버

  • 클래스의 구성 멤버에는 필드(Field), 생성자(Constructor), 메소드(Method)가 있다
public class ClassName{
	//필드
    int fieldName;
    
    //생성자
    ClassName(){ 
    ...
    }
    
    //메소드
    void methodName(){
    ...
    }
  • 필드
    • 필드는 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳이다
    • 선언 형태는 변수와 비슷하지만, 필드를 변수라고 부르지 않는다
    • 필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재한다
  • 생성자
    • 생성자는 new 연산자로 호출되는 특별한 중괄호 { } 블록이다
    • 생성자의 역할은 객체 생성 시 초기화를 담당한다
    • 생성자는 메소드와 비슷하게 생겼지만, 클래스 이름으로 되어있고 리턴 타입이 없다
  • 메소드
    • 메소드는 객체의 동작에 해당하는 중괄호 { }블록을 말한다
    • 메소드는 객체 간의 데이터 전달의 수단으로 사용된다
    • 외부로부터 매개값을 받을 수 있고, 실행 후 어떤 값을 리턴할 수도 있다