기술면접

클래스와 객체에 대해 설명하시오

검은고양이개발자 2023. 1. 11. 09:54
반응형

클래스는 무엇이고 객체는 무엇일까요?

 

클래스는 객체를 정의한 설계도 , 틀이라 생각할 수 있는데

저 같은 경우 가장 좋아하는 비유는 붕어빵 기계입니다. 여기서 클래스가 붕어빵 기계라면

붕어빵은 객체가 되는 거죠.

 

이러한 객체의 붕어빵 기계인 클래스는 어떻게 구성되어있을까요

클래스는 크게 네 가지의 요소로 구성되어있는데, 이는

클래스의 속성을 나타내는 변수인 필드

클래스의 기능을 나타내는 함수인 메서드

그리고 클래스의 객체를 생성하는 역할을 하는 생성자

마지막으로 클래스 내부의 클래스를 의미하는 이너 클래스로 구성되어있습니다.

 

이 네가지 요소 중 객체에 활용되는, 

즉 붕어빵의 모양을 형성하는 요소들은 필드와 메서드 그리고 이너스 클래스 3가지 요소인데

주로 속성을 나타내는 변수인 필드와 기능을 나타내는 함수인 메서드가 활용되어집니다.

 

간단히 정리해보면, 예를들 고양이라는 이름의 클래스에서 필드와 메서드를 정의한 뒤

이를 객체화 하게 되면 , 고양이클래스의 필드와 메서드를 사용할 수 있는 객체를 만들 수 있는 겁니다

 

그렇다면 객체화는 어떻게 하는 걸까요?

객체화는 class이름 참조변수 = new class생성자  ; 를 통해 만들 수 있는데요

자바 메모리 영역에서는

METHOD Area 에 클래스의 정보를

class 생성자를 통해 생성된 객체 정보를 Heap Area에

참조변수를 Stack 영역에 저장합니다.

객체에서 클래스의 메서드를 이용하기 위해서는 참조변수.메소드변수를 입력해서 불러올 수 있는데

이 과정을 자바 메모리 영역에서 일어나는 과정으로 말해보면

Stack에 저장된 참조값이 Heap메모리에 있는 데이터를 가져오고 이 중 메소드의 정보는 

METHOD Area 에 있는 클래스 내부의 메소드를 호출해서 가져옵니다.

 

 

반응형