9osari.log
← 목록으로

[JAVA Questions] 클래스와 객체 예상질문

1. 클래스와 객체에 대한 기본 개념

클래스는 객체를 생성하기 위한 설계도이고, 객체는 클래스(설계도)를 기반으로 메모리에 생성된 실체입니다.

2. 객체 생성과 메모리 구조

new 키워드를 사용하면 클래스 정보를 기반으로 객체(인스턴스)가 힙 영역에 생성되고, 그 메모리 위치를 가리키는 참조값이 반환됩니다. 이 참조값이 변수에 저장되어 객체에 접근할 수 있습니다.

3. 참조값(주소)의 의미

new 키워드를 통해 클래스 기반으로 한 객체(인스턴스)가 힙 영역에 저장되며, 이 객체의 참조값(주소)가 반환되어 변수 student1에 저장됩니다. 이후 이 변수에 저장된 참조값을 사용해 객체에 접근할 수 있습니다.

4. 참조값 복사

객체가 복사되는 게 아니라, 객체의 참조값이 복사됩니다.

5. 클래스가 필요한 이유

배열이나 변수만을 사용하면 데이터가 늘어날수록 유지보수와 확장성이 떨어집니다. 반면 클래스는 관련 데이터를 하나의 단위로 묶어 관리하기 때문에 구조화된 코드 작성, 유지보수, 확장성에 뛰어납니다.

6. 객체 지향적 사고

클래스에 국어, 수학, 영어 필드를 추가하고 평균을 구하는 기능(메서드)를 추가합니다.

7. 실무 연계

customer 클래스를 만들고 객체 배열이나 리스트로 관리하면 효율적이고 유지보수가 쉬운 코드를 만들 수 있습니다.

8. 출력 결과 예측

student1, student2 두 변수는 같은 객체를 참조하기 때문에, student2.name를 바꾸면 student1.name도 바뀌게 됩니다. 즉 “학생2”가 두 번 출력됩니다.
Student student1 = new Student();
student1.name = "학생1";

Student student2 = student1;
student2.name = "학생2";

System.out.println(student1.name);
System.out.println(student2.name);

···
← PREV [JAVA] final NEXT → [JAVA] 상속