클래스는 필드, 생성자, 메소드 로 이루어져 있다.
클래스의 구성요소 | |
---|---|
필드 | 객체의 데이터가 저장되는 곳 |
생성자 | 객체 생성 시 초기화 역할 담당 |
메소드 | 객체의 동장에 해당하는 실행 블록 |
class Student
{
//필드(Field)
String name;
int age;
int korean_score;
int math_score;
int english_score;
//생성자(Constructor)
Student(String name, int age, int kor_score, int mat_score, int eng_score)
{
this.name = name;
this.age = age;
this.korean.score = kor_score;
this.math_score = mat_score;
this.english_score = eng_score;
}
//메소드(Method)
public void printScore()
{
System.out.println(name);
System.out.println(age);
System.out.println(korean_score);
System.out.println(math_score);
System.out.println(english_score);
}
}
클래스는 위와 같은 형태로 만들어지고 내부에 필드, 생성자, 메소드가 정의된다. 이렇게 생성된 클래스는 하나의 객체 설계도이며, 정의된 클래스를 통해 동일한 객체를 무한정 찍어낼 수 있다. 이렇게 찍어낸 객체를 인스턴스라고 한다.
public class Main
{
public static void main(String[] args)
{
//생성자가 없는 경우
Student student1 = new Student();
//생성자가 있는 경
Student student2 = new Student("홍길동", 18, 100, 90, 80);
클래스를 통해 객체를 생성하기 위해 new 연산자를 사용한다. new 연산자 뒤에는 생성자가 오는데, 생성자는 클래스() 형태를 가지고 있으며 생성자의 여부에 따라 인자 값을 맞춰서 작성한다. new연산자로 생성된 객체는 힙 메모리 영역에 생성되며 이렇게 만들어진 객체를 해당 클래스의 인스턴스(instance)라 한다.
클래스(Class) VS 객체(Object)
객체(Object) VS 인스턴스(Instance)