All About IT
[Java 기초] 클래스의 기본적인 구조와 객체, 인스턴스의 차이점
안녕하세요~
이번 시간에는 클래스의 구조와 객체, 인스턴스에 대해 알아보려고 하는데요.
어떤 형식으로 사용하는지 살펴볼까요?
클래스의 기본구조 - 필드, 생성자, 메서드
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 클래스 작성 코드.
오늘의 핵심 키워드
- 클래스는 객체를 만들기 위한 설계도를 의미한다. ★ 작성형식 : 접근제한자 클래스명{ }
- 객체는 클래스 기준으로 생성되어 속성을 가져 다른 것과 식별이 가능한 것을 의미한다.
- 인스턴스는 클래스를 통해 생성된 객체 하나하나를 해당 클래스의 인스턴스라고 한다.
- 필드는 객체의 데이터가 저장되는 공간을 의미한다. ★ 작성형식 : 타입 변수명;
- 생성자는 객체 생성 시 필드의 초기화를 담당한다. ★ 작성형식 : 접근제한자 클래스명( ){ }
- 메서드는 객체의 동작을 구성하여 담당한다. ★ 작성형식 : 접근제한자 리턴타입 메서드명( ){ }
※ 클래스에서 필드, 생성자, 메서드가 필수적이지는 않지만 일반적으로 필드와 메서드는 존재한다.
<필드(Field)>
① String타입 변수 name
② int타입 age, kor, mat, eng 변수 선언
<생성자(Constructor)>
① 각각의 매개변수를 필드에 저장
<메서드(Method)>
① 모든 필드를 출력하는 print 메서드 선언
① 기본생성자를 통해 Student 클래스 객체 s1 생성
② 오류 해결을 위해 Student 클래스에서 기본생성자 작성
① Student 클래스에서 ("이순신",30,70,80,90)을 매개변수로 가져가는 생성자를 호출해서 s2 객체 생성
최종 출력본
꼭 봐야되는 꿀팁!
- 값을 저장하는 곳은 필드!
- 객체 생성과 동시에 필드를 초기화할 때는 생성자!
- 다양한 기능을 넣을 때는 메서드!
▲ 영상으로 한번 더 복습하세요 :)