Study/김영한의 실전자바
[김영한의 실전 자바] - 기본편 섹션 2. 클래스와 데이터
곰삼이
2025. 6. 1. 16:11
클래스 도입
public class Student {
String name;
int age;
int grade;
}
- 클래스에서 정의한 변수들을 멤버 변수 = 필드라고 함.
public class classStart1 {
public static void main(String[] args) {
String student1Name="학생1";
int student1Age=15;
int student1Grade=90;
String student2Name="학생2";
int student2Age=16;
int student2Grade=80;
System.out.println("이름: "+student1Name + "나이:"+student1Age+"성적" +student1Grade);
}
}
-클래스의 사용자 정의 타입
1. 클래스를 사용하면 int,String과 같은 타입을 직접 만들 수 있음.
이것을 사용자가 직접 정의한 타입이라는 뜻으로 '사용자 정의 타입'이라고 한다.
2. 사용자 정의 타입을 만들려면 설계도가 필요하다. 이것이 바로 클래스! 설계도 = 클래스
설계도인 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다.
3. 클래스를 통해서 사용자가 원하는 종류의 데이터 타입을 마음껏 정의할 수 있다.
용어
클래스 : 객체를 생성하기 위한 설계도
객체: 클래스를 기반으로 만들어진 실체
인스턴스: 객체와 같은 의미이지만, 좀 더 관계에 초첨을 맞춘 단어. 특정 클래스로부터 그 객체가 생성되었음을 강조할 때 사용한다.
배열 도입 - 리펙토링
public class ClassStart5 {
public static void main(String[] args) {
Student student1 = new Student();
student1.name= "힉생1";
student1.age=15;
student1.grade=90;
Student student2 = new Student();
student2.name="학생2";
student2.age=16;
student2.grade=100;
Student [] students = {student1,student2};
//for문 - 1
for(int i=0; i<students.length; i++){
System.out.println("이름:"+ students[i].name+" 나이:"+ students[i].age+" 성적:"+ students[i].grade);
}
//for문 - 2
for(int i=0; i<students.length; i++){
Student s = students[i];
System.out.println("이름:"+s.name+" 나이:"+ s.age+" 성적:"+ s.grade);
}
//for문 - 3
for(Student s: students){
System.out.println("이름:"+s.name+" 나이:"+ s.age+" 성적:"+ s.grade);
}
}
}