stack 4

C# 참조 타입 , 값 타입 (ref, out 사용)

C# 언어는 참조 타입(reference type)과 값 타입(value type)을 갖는 주요 데이터 타입을 제공합니다. 이 두 가지 타입은 변수의 성격과 메모리에 저장되는 방식에서 차이가 있습니다. 이에 대한 이해는 C# 프로그래밍에서 핵심적인 역할을 합니다. 참조 타입 (Reference Type) 대표적인 참조 타입: 클래스(class), 인터페이스(interface), 델리게이트(delegate), 배열(array) 등 저장 위치: *힙(heap) 메모리에 저장 변수: 변수는 힙에 저장된 객체의 참조를 가짐 특징: 여러 변수가 동일한 객체를 참조할 수 있음 전달 방식: 메서드에 전달되면 객체의 참조가 복사되므로, 객체의 속성을 변경하면 원본 객체에 영향을 미침 값 타입 (Value Type) 대..

C# 2024.01.23

힙(Heap) , 스택(Stack) 메모리

힙 (Heap) 메모리 특징 동적 할당: 힙 메모리는 프로그램 실행 중 동적으로 할당되는 메모리의 영역입니다. 개발자가 필요에 따라 메모리를 동적으로 할당하고 해제할 수 있습니다. 전역 변수 및 동적 객체: 힙은 전역 변수와 동적으로 생성된 객체들이 저장되는 곳입니다. 이는 객체의 생명 주기가 프로그램 실행 동안 동적으로 변할 수 있음을 의미합니다. 개발자가 직접 관리: 힙 메모리는 개발자가 직접 할당과 해제를 관리해야 합니다. 메모리 해제는 명시적으로 이루어져야 하며, 이를 신경 쓰지 않으면 메모리 누수의 위험이 있습니다. 생명 주기 동적 할당: 힙 메모리는 개발자의 명시적인 해제 없이는 메모리가 계속 유지됩니다. 개발자가 메모리를 명시적으로 해제하지 않으면 메모리 누수가 발생할 수 있습니다. 프로그램..

C# 2024.01.23

자바의 메모리 영역에 대해 설명하시오

자바의 메모리 영역은 (Method, Heap, Stack)area / PC Register Native Method Stack 이렇게 5가지로 구성되어져 있습니다. 먼저 Method 영역은static, class 영역이라고도 불리는데 전역변수나 static으로 선언되는 것들을 메모리에 상주시킵니다. 주로 클래스 정보, static변수, 변수 정보, 메소드 정보 등을 저장합니다. 그래서 우리가 클래스를 만들면 클래스에 대한 정보가 Method Area에 들어가게 됩니다. Heap 영역은 인스턴스를 생성할 때 생성되는 메모리 형식인데 new를 사용하여 객체를 만들 때 저장되고 참조형인 class,interface,enum,Array 등 자료형도 같이 저장됩니다. 힙의 참조 주소는 Stack Area 에서 ..

기술면접 2023.01.11

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

클래스는 무엇이고 객체는 무엇일까요? 클래스는 객체를 정의한 설계도 , 틀이라 생각할 수 있는데 저 같은 경우 가장 좋아하는 비유는 붕어빵 기계입니다. 여기서 클래스가 붕어빵 기계라면 붕어빵은 객체가 되는 거죠. 이러한 객체의 붕어빵 기계인 클래스는 어떻게 구성되어있을까요 클래스는 크게 네 가지의 요소로 구성되어있는데, 이는 클래스의 속성을 나타내는 변수인 필드 클래스의 기능을 나타내는 함수인 메서드 그리고 클래스의 객체를 생성하는 역할을 하는 생성자 마지막으로 클래스 내부의 클래스를 의미하는 이너 클래스로 구성되어있습니다. 이 네가지 요소 중 객체에 활용되는, 즉 붕어빵의 모양을 형성하는 요소들은 필드와 메서드 그리고 이너스 클래스 3가지 요소인데 주로 속성을 나타내는 변수인 필드와 기능을 나타내는 함..

기술면접 2023.01.11