클래스

한라봉봉·2023년 12월 15일

JAVA

목록 보기
1/16

클래스가 필요한 이유

1. 관리

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

각 요소(예를들어 학생의 이름, 나이, 성적)배열을 통해 넣을수도 있다.
그러나 한명을 삭제할때 3개 배열을 모두 빼놓지않고 조심히 수정해야한다.
사람이 관리하기에 용이하려면, 학생이라는 개념을 하나로 묶어야 한다.

2. 클래스에 정의한 변수들을 멤버 변수, 또는 필드라고한다.

public class Student{
	String name;
    int age;
    int grade;
}
  1. 멤버변수 : 이 변수들은 특정 클래스에 소속된 멤버이기 때문에 이렇게 부른다.
  2. 필드: 데이터 항목을 가르키는 전통적인용어.
  3. 자바에서는 멤버변수, 필드는 같은 뜻이다. 클래스에 소속된 변수를 뜻한다.
  4. 클래스명은 보통 첫글자를 대문자로 하고, 카멜표기법으로 쓴다.

3. 사용

Student student1 = new Student();
student1.age = 70;
Student student2 = new Student();

4. 사용자 정의 타입, 객체(인스턴스)

사용자가 student라는 타입을 정의한것이다.
클래스는 설계도라고 할수있다.
이 설계도를 이용하여 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라고 한다.

5. 객체 사용 순서

  1. 변수선언: 사용자정의한 클래스 타입의 변수선언. Student student1
  2. 객체생성: new()를 통해 실제 메모리에 인스턴스 생성. 멤버변수를 사용하는데 필요한 메모리 공간도 함께 확보한다.
  3. 참조값 보관: 객체를 생성하면 자바는 메모리 어딘가에 있는 이객체에 접근할 수있는 참조값(주소)를 반환한다. student1에는 이 참조값을 보관한다.
  4. 새로운 객체를 생성해 메모리에 저장되면 student2 변수에는 다른 참조값이 저장된다.

6. 객체에 접근

변수.(dot)으로 접근.
변수 내에있는 참조값을 통해 실제 객체에 접근.

7. 객체 vs 인스턴스

용어상 인스턴스는 객체보다 좀더 관계에 초점을 맞춘 단어이다.
인스턴스라고 부르는 순간은 특정 클래스로부터 그 객체가 생성되었음을 강조하고 싶을때이다. student1은 객체이지만, Student 클래스로부터 생성된다는 점을 명확히 하기위해 student1을 Student의 인스턴스라고 부른다.

profile
백엔드 개발공부 로그를 기록합니다

0개의 댓글