클래스와 데이터

류장원·2024년 8월 31일
post-thumbnail

[김영한의 실전 자바 - 기본편] 강의를 정리한 내용입니다.

클래스가 필요한 이유

자바 세상은 클래스와 객체로 이루어져있다. 클래스가 어떤 방식으로 발전하면서 만들어졌는지 확인해보자.

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);
 		System.out.println("이름:" + student2Name + " 나이:" + student2Age + " 성
		적:" + student2Grade);
 }
public class ClassStart2 {
 	public static void main(String[] args) {
 		String[] studentNames = {"학생1", "학생2"};
 		int[] studentAges = {15, 16};
 		int[] studentGrades = {90, 80};
 		for (int i = 0; i < studentNames.length; i++) {
 		System.out.println("이름:" + studentNames[i] + " 나이:" +
		studentAges[i] + " 성적:" + studentGrades[i]);
 		}
 	}
}

기존에는 위의 두 방식처럼 변수나 배열을 사용하여서 데이터를 저장하였다. 하지만 데이터를 변경해야할 경우에는 위에 같은 방식이 효율적인 방법이 아니였다. 이를 해결하고자 하나의 개념으로 묶어 데이터를 관리하는 방식을 도입하고자 하였다.


클래스 도입

public class Student {
 	String name;
 	int age;
 	int grade;
}
  • 멤버 변수(Member Variable) : 이 변수들을 특정 클래스에 소속된 멤버이기 때문에 이렇게 부름
  • 필드(Field) : 데이터 항목을 가리키는 전통적인 용어
  • 클래스와 인스턴스 : 클래스는 설계도이고 / 인스터스는 클래스를 사용해서 실제 메모리에 만들어진 실체

클래스를 예시를 통해 자세하게 분석해보자

1. 변수 선언

  • Student student1
    - Student 타입을 담을 변수 선언

2. 객체 생성

  • new Student() : Student 클래스 정보를 기반으로 새로운 객체 생성
  • 객체를 생성할 때는 new 클래스명() 사용

3. 참조값 보관

  • 객체를 생성하면 자바는 접근할 수 있는 참조값(주소)를 반환한다.
  • Student student1 변수는 이제 메모리에 존재하는 실제 Student 객체(인스턴스)의 참조값을 가지고 있다.

📜 정리

클래스 - Class

클래스는 객체를 생성하기 위한 '틀' 또는 '설계도'이다. 클래스는 객체가 가져야 할 속성(변수)과 기능(메서드)를 정의한다.

객체 - Object

객체는 클래스에서 정의한 속성과 기능을 가진 실체이다. 객체는 서로 독립적인 상태를 가진다

인스턴스 - Instance

인스턴스는 특정 클래스로부터 생성된 객체를 의미한다. 그래서 객체와 인스턴스라는 용어는 자주 혼용된다. 인스턴스는 주로 객체가 어떤 클래스에 속해 있는지 강조할 때 사용한다. 예를 들어서 student1 객체는 Student 클래스의 인스턴스다. 라고 표현한다.

profile
Mythos of Summer

0개의 댓글