꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

JAVA

클래스와 객체

gold_dragon 2021. 9. 9. 20:21

자바는 객체지향 언어입니다. 클래스와 객체를 통해서 프로그램을 개발해 나가야 됩니다.

이번 시간에 클래스와 객체에 대해서 공부하겠습니다.

클래스와 객체

클래스는 '상태'와 '행위'를 갖고 있는 설계도입니다. 그리고 이 클래스를 이용해서 객체를 만들 수 있습니다. 물론 해당 클래스를 사용하여 여러 객체를 만들 수 있습니다.

 

예를 들어, 사람을 정의한 클래스가 있습니다. 해당 클래스는 '이름'이라는 '상태'를 갖고 있고, '뛰다'라는 '행위'를 갖고 있습니다. 그리고 사람 클래스를 통해서 여러 사람을 만들 수 있습니다. Java로 코딩을 하면 다음과 같습니다.

// Person Class
public class Person {
  String name;
  
  // 아래 메서드는 생성자로 다음에 이어서 설명하겠습니다.
  public Person(String name) {
    this.name = name;
  }
  
  public void run() {
    System.out.println("뛰다");
  }
}

위와 같이 사람에 해당하는 클래스를 정의해줍니다. name이라는 상태와 run이라는 행위를 갖고 있습니다.

// main process
public class MainProcess {
  public static void main(String[] args) {
    Person geumyong = new Person("geumyong");
    Person hwayoung = new Person("hwayoung");
    
    geumyong.run();
    hwayoung.run();
  }
}

해당 클래스로 new 키워드를 사용하여 두 사람을 만들었습니다. 그리고 이름은 각각 geumyong, hwayoung으로 정해집니다. 이렇게 클래스로 생성된 것을 객체 혹은 인스턴스라고 합니다. Java는 다음과 같이 클래스와 객체를 통해 코딩이 이루어집니다.

생성자 (constructor)

위 클래스 예시를 확인하면 생성자 함수가 있습니다. 생성자 함수를 통해서 객체를 만들 수 있습니다. 매개 변수가 없는 생성자의 경우 '기본 생성자'라고 합니다. 기본 생성자는 클래스를 컴파일할 때 자동으로 만들어집니다. 위 예시와 같이 인스턴스 변수에 값 할당을 하기 위해서 매개변수를 통해 값을 전달할 수 있습니다.

'JAVA' 카테고리의 다른 글

객체 지향의 4대 특성  (0) 2021.10.03
객체 지향 설계의 5가지 원칙 (SOLID)  (0) 2021.10.03
자바 프로그램 개발과 구동  (0) 2021.09.14
Java 변수  (0) 2021.09.10
객체 지향 언어란? (Object Oriented Language)  (0) 2021.06.17