CS/Java

[CS/JAVA] 자바의 메모리 영역 / 클래스와 객체 / 생성자

dbfl9911 2024. 11. 26. 16:53
반응형


 

 

 

• 자바의 메모리 영역에 대해 설명해주세요. 

 

자바의 메모리 공간은 크게 Method 영역, Stack 영역, Heap 영역으로 구분되고, 데이터 타입에 따라 할당됩니다. 

  • 메소드 영역 : 전역변수와 static 변수를 저장하며, 메소드 영역은 프로그램 시작부터 종료까지 메모리에 남아있습니다. 
  • 스택 영역 : 지역변수와 매개변수 데이터 값이 저장되는 공간이며, 메소드가 호출될 때 메모리에 할당되고 종료되면 메모리가 해제됩니다. LIFO(Last In First Out) 구조를 갖고, 변수에 새로운 데이터가 할당되면 이전 데이터는 지워집니다. 
  • 힙 영역 : new 키워드로 생성되는 객체(인스턴스), 배열 등이 힙 영역에 저장되며, 가비지 컬렉션에 의해 메모리가 관리되어 집니다. 

 

 

 

• 각 메모리 영역이 할당되는 시점은 언제인가요?

  • 메소드 영역 : JVM이 동작해서 클래스가 로딩될 때 생성됩니다.
  • 스택 영역 : 메소드가 호출될 때 할당됩니다.
  • 힙 영역 : 런타임 시 할당됩니다. 

 


 

 

• 클래스와 객체에 대해 설명해주세요. 

 

  • 클래스는 객체를 만들어내기 위한 설계도 혹은 틀이라고 할 수 있고, 객체를 생성하는데 사용합니다.
  • 객체는 설계도(클래스)를 기반으로 생성되며, 자신의 고유 이름과 상태, 행동을 갖습니다.
  • 여기서 상태는 '필드'(fields), 행동은 '메소드'(Method)라고 표현합니다.
  • 객체에 메모리가 할당되어 실제로 활용되는 실체는 '인스턴스'라고 부릅니다.

 

 


 

 

• 생성자(Constructor)에 대해 설명해주세요. 

 

  • 생성자는 클래스와 같은 이름의 메소드로, 객체가 생성될 때 호출되는 메소드입니다.
  • 명시적으로 생성자를 만들지 않아도 default로 만들어지며, 생성자는 파라미터를 다르게 하여 오버로딩할 수 있습니다. 

 

 



* 위 글은 아래 문서를 참고해 작성했습니다. 

https://dev-coco.tistory.com/153

 

신입 개발자 기술면접 질문 정리 - 자바

💡 Java의 특징을 설명해주세요.Java는 객체지향 프로그래밍 언어입니다. 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어

dev-coco.tistory.com

 


 

review 1회독 2회독 3회독 4회독 5회독
check ✅(1/22) ✅(1/23) ✅(2/10)    

 

반응형