안녕하세요~ 

이번 시간에는 클래스의 구조와 객체, 인스턴스에 대해 알아보려고 하는데요.

어떤 형식으로 사용하는지 살펴볼까요?

클래스의 기본구조 - 필드, 생성자, 메서드

package day28;

public class Student{
    String name;
    int age;
    int kor;
    int mat;
    int eng;
    
    Student(String name, int age, int kor, int mat, int eng){
        this.name = name;
        this.age = age;
        this.kor = kor;
        this.mat = mat;
        this.eng = eng;
    }
    
    public void print() {
        System.out.println("이름 : " + name);
        System.out.println("나이 : " + age);
        System.out.println("국어성적 : " + kor);
        System.out.println("수학성적 : " + mat);
        System.out.println("영어성적 : " + eng);
    }
}

 

package day28;

public class StudentMain {
	public static void main(String[] args) {
		Student s1 = new Student();
		s1.name = "홍길동";
		s1.age = 20;
		s1.kor = 80;
		s1.mat = 80;
		s1.eng = 80;
		s1.print();
		
		Student s2 = new Student("이순신",30,70,80,90);
		s2.print();		
	}
}

 필드 5개, 생성자 1개, 메서드 1개를 가진 Student 클래스를 객체로 생성하고 활용하는 StudentMain 클래스 작성 코드.

오늘의 핵심 키워드
  1. 클래스는 객체를 만들기 위한 설계도를 의미한다.  ★ 작성형식 : 접근제한자 클래스명{ }
  2. 객체는 클래스 기준으로 생성되어 속성을 가져 다른 것과 식별이 가능한 것을 의미한다. 
  3. 인스턴스는 클래스를 통해 생성된 객체 하나하나를 해당 클래스의 인스턴스라고 한다. 
  4. 필드는 객체의 데이터가 저장되는 공간을 의미한다.  ★ 작성형식 : 타입 변수명;
  5. 생성자는 객체 생성 시 필드의 초기화를 담당한다.  ★ 작성형식 : 접근제한자 클래스명( ){ }
  6. 메서드는 객체의 동작을 구성하여 담당한다. ★ 작성형식 : 접근제한자 리턴타입 메서드명( ){ }

※ 클래스에서 필드, 생성자, 메서드가 필수적이지는 않지만 일반적으로 필드와 메서드는 존재한다.


<필드(Field)>

① String타입 변수 name

② int타입 age, kor, mat, eng 변수 선언


<생성자(Constructor)>

① 각각의 매개변수를 필드에 저장



 

<메서드(Method)>

① 모든 필드를 출력하는 print 메서드 선언



① 기본생성자를 통해 Student 클래스 객체 s1 생성

② 오류 해결을 위해 Student 클래스에서 기본생성자 작성


 ① Student 클래스에서 ("이순신",30,70,80,90)을 매개변수로 가져가는 생성자를 호출해서 s2 객체 생성


최종 출력본

꼭 봐야되는 꿀팁!
  •  값을 저장하는 곳은 필드!
  • 객체 생성과 동시에 필드를 초기화할 때는 생성자!
  • 다양한 기능을 넣을 때는 메서드!

▲ 영상으로 한번 더 복습하세요 :)