JAVA

클래스와 클래스의 인스턴스화 알아보기

jiyoon12 2025. 4. 23. 00:07

클래스

  • 객체를  생성하기 위한 템플릿 또는 설계도 역할을 한다.
  • 객체의 상태를 나타내는 필드(변수)와 객체의 행동을 정의 하는 메소드(함수)로 구성된다.
  • 클래스는 대문자로 시작하는 것이 좋다.
  • 파스칼 케이스(PascalCase)와 카멜 케이스(camelCase) 명명 규칙을 사용한다.
package ch05;

// 책이라는 설계도를 구성해보자.
// 컴파일 시점 : 코드를 작성하는 시점
// 런타임 시점 : Java 명령어를 통해 프로그램이 실행하는 시점 
public class Book {

    String tittle;
    String author;
    int totalPages;
    int publishYear;
}

 

package ch05;

// 1. 클래스를 설계 하는 코드 측
// 클래스는 객체를 만들기 위한  설계 도면이다.
// 학생이라는 설계도를 만들어 보자.
public class Student {

    // String <-- 문자열("홍길동")
    String name; // 학생 이름
    int grade; //학년
    double height;// 키
    double weight; // 몸무게

} // end of class

 

클래스의 인스턴스화(객체)

  • 객체의 상태(속성) 는 클래스의 멤버 변수로 선언 한다.

package ch05;

public class BookProgram {

    // 코드의 진입점
    public static void main(String[] args) {

        // 문제 1
        // Book 이라는 데이터 타입을 인스턴스화 해주세요
        Book b1 = new Book();
        System.out.println("b1 : " + b1);
        // new 키워드를 사용해서 메모리 올라가면
        // 인스턴스화 되었다( 객체라고 부를 수 있다)
        // 참조 자료형은 주소값이다.

    } // end of main
} // end of class

 

package ch05;

//2. 코드를 실행하는 측
public class StudentProgram {

    // 코드의 진입점(메인 함수)
    public static void main(String[] args) {

        int a = 10;

        // Student 클래스를 메모리에 올려보자.
        // s1 이라는 클래스를 인스턴스화 했다.
        // 인스턴스화란 메모리에 올리는 행위를 말한다.
        Student s1 = new Student();

        System.out.println("s1: " + s1);
        System.out.println("a : " + a);

        // 변수의 가장 큰 2 가지 종류
        // 기본 데이터 타입(상자의 값이 담긴다)
        // 참조 데이터 타입(주소값이 담긴다)

    }// end of main
} // end of class