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