본문 바로가기

Java/기본 이론

[JAVA] Chapter 15. 클래스의 구조

 

클래스란 java 에서 변수가 선언되고 함수가 작동하는 영역을 말하는데, 객체 자체를 class라고 한다.

자동차를 예로 들어 클래스를 설명하자면 다음과 같다.

 

class Car {

    String modelName;
    
    int modelYear;
    
    String modelColor;
    
    int maxSpeed;
    
    int momentAccel; 
    
    acceleration(){
    	System.out.print("가속한다")
    }
    
    brake(){
    	System.out.print("멈춘다")
    }
    
    turnon(){
    	System.out.print("시동을 켠다")
    }
    
    turnoff(){
    	System.out.print("시동을 끈다")
    }
}

위와 같이 class가 지정된 상태라면, 해당 클래스는 pakage 내에서 호출하여 별도의 객체를 형성할 수 있다.

쉽게 말해 class란 객체 정보를 선언하고 할당하기 위해 미리 지정한 데이터의 양식과 같은 것이다. 

 

public static void main(String[] args){

	Car myCar = new Car();
    // 변수 선언 및 데이터를 heap에 할당
    
    myCar.modelName = "포르쉐";
    
    myCar.modelYear = 2020;
    
    myCar.modelColor = "red";
    
    myCar.maxSpeed = 420;
    
    myCar.turnon();
    
}

위와 같이 class에서 생성된 객체 정보를 자신이 원하는 방식대로 할당하고 선언할 수 있다.

이를 구체적으로 영역별로 나누면 다음과 같다. 

 

필드(field)

  • modelName = "포르쉐"
  • modelYear = 2020;
  • modelColor = "red";
  • maxSpeed = 420;
  • momentAccel = 300;

메소드(method)

  • turnon() 
  • turnoff()
  • acceleration()
  • brake()

인스턴스(instance)

  • 내 차(myCar): 설계도에 의해 생산된 차량
  • 회사 차(companyCar): 설계도에 의해 생산된 또 다른 차량

즉, 자동차 인스턴스는 모두 위와 같은 필드와 메소드를 가지게 된다.

하지만 각 인스턴스마다 가지고 있는 메소드와 필드의 값은 전부 다르게 지정될 것이다.