-
[CS/JAVA] 자바의 메모리 영역 / 클래스와 객체 / 생성자CS/Java 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) 반응형'CS > Java' 카테고리의 다른 글
[CS/JAVA] String, StringBuffer, StringBuilder의 차이 / 접근 제한자 / 클래스 멤버 변수 초기화 순서 (0) 2025.01.22 [CS/JAVA] Wrapper Class / Boxing과 UnBoxing / Synchronized / new String()과 리터럴("")의 차이 (0) 2025.01.22 [CS/JAVA] 가비지 컬렉션 / 객체지향 설계의 원칙 (0) 2024.11.26 [CS/JAVA] 추상 클래스 / 인터페이스 / 싱글톤 패턴 (0) 2024.11.24 [CS/JAVA] 객체지향 프로그래밍 / try-with-resources / 불변 객체 / 참조 타입 / final (0) 2024.11.24