실전자바1 - 클래스가 필요한 이유
본문 바로가기

TIL/김영한 실전자바 with 인프런

실전자바1 - 클래스가 필요한 이유

반응형

안녕하세요 오늘 수업한 김영한의 실전자바 내용을 정리해 보도록 하겠습니다.

 

자바는 클래스와 객체로 이루어져 있습니다.

 

클래스와 객체는 너무 큰 범위여서 먼저 클래스가 필요한 이유부터 확인해 보겠습니다.

 

클래시가 필요한 이유를 설명하기 위해 학생을 예로 들어 학생의 이름 나이 성적을 출력하고자 할 때 학생마다 이름 성적 나이를 저장하는 변수를 모두 만들어 주어야 하는데 이를 더 편하게 하기 위해 같은 데이터타입을 저장할 수 있는 배열을 이용하여 같은 데이터 타입끼리 묶어 해결할 수 있습니다.

1
2
3
String[] studentNames = {"학생1","학생2"};
int[] studentAges = {15,16};
int[] studentGrade = {90,80};
cs

 

위와 같이 배열을 이용하면 변수의 숫자를 줄일수 있습니다.

 

하지만 위와 같은 배열을 이용시 정확한 순서대로 학생의 데이터를 넣고 지워주어야 합니다.

 

위와 같은 문제를 해결하기 위해서는 클래스를 이용하여야 합니다.

 

이제 실제로 클래스를 도입해 보겠습니다.

먼저 아래와 같이 클래스를 만들어 줍니다.

1
2
3
4
5
6
public class Student {
    String name;
    int age;
    int grade;
}
 
cs

 

클래스에 정의한 변수들을 맴버 변수 또는 필드 라고 합니다.

 

클래스는 관례상 대문자로 시작하고 낙타 표기법을 사용합니다.

 

만든 클래스를 사용하기 위해서는 아래와 같은 코드로 사용합니다.

1
2
3
4
5
6
7
8
9
10
11
12
    public static void main(String[] args) {
        Student student1;
        student1 = new Student();
        student1.name = "학생1";
        student1.age = 15;
        student1.grade = 90;
        
        Student student2 = new Student();
        student2.name = "학생2";
        student2.age = 16;
        student2.grade = 80;
    }
cs

 

만든 클래스의 객체로 만들기 위해서는 new로 만들어 주어야 합니다.

클래스를 이용하여 만든 객체에 접근하여 값을 넣기 위해서는 .을통해서 접근하며 멤버변수에 값을 넣어 줄 수 있습니다.

 

클래스는 사용자가 만든 타입이라고 볼 수 있습니다.

클래스를 사용하여 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라고 합니다.

new로 통해 만든 객체는 참조값을 반환하여 클래스 변수(ex. student1)에 저장합니다. 클래스 변수는 저장된 위치인 참조값을 보관하여 메모리에 접근 저장된 값을 가져옵니다.

 

참조값을 확인해 보고 싶다면 "System.out.println(student1)" 을 통해 확인이 가능합니다.

 

감사합니다.

 

반응형

'TIL > 김영한 실전자바 with 인프런' 카테고리의 다른 글

실전자바 시작  (4) 2024.07.16