이전 글을 통해서 C#에서 값 형식과 참조 형식에서 어떻게 데이터가 처리가 되고, 메모리 구조에서 어떤식으로 할당/해제 되는지에 대해서 설명드렸습니다. 이에 대한 내용 확인을 원하시면 아래의 링크를 참조해주시기 바랍니다. 2015/01/24 - [프로그래밍 팁s/C#, .NET] - [.NET] C# 스택(Stack)과 힙(Heap) 메모리의 차이 이 글에서는 참조 형식을 이용하지만 불변 클래스 기반으로 이루어진 클래스들이 어떻게 처리가 되는지에 대해서 알아보도록 하겠습니다. 그럼 불변클래스(Immutable Class)가 무엇인지 부터 확인을 해볼까요? 1. 불변 클래스란? 불변클래스(Immutable Class)란? 객체의 인스턴스 생성 후 인스턴스가 유지되는 동안 인스턴스가 가지는 값을 변경하지 못..
오늘은 스택과 힙메모리의 차이에 대해서 알아보도록 하겠습니다. C#에서도 당연히 스택기반의 메모리와 힙 기반의 메모리를 제공합니다. C#에서 이 메모리들의 구조를 확인하기 위해서는 먼저 값 형식(Value Type)과 참조 형식(Reference Type)에 대해서 알고 있어야합니다. 값 형식과 참조 형식에 대한 정의는 아래와 같습니다. 값 형식 : 값을 변수에 넣는 데이터 형식참조 형식 : 변수에 대한 위치(메모리 위치)를 담는 데이터 형식 간단하게 값 형식과 참조 형식에 대해서 알아보았습니다. 그럼 변수를 값에 넣을 때 메모리 구조에서 어떻게 처리되는지를 알아 보겠습니다. 먼저 값 형식을 통해서 변수에 값을 넣게 되면 스택 메모리에 변수의 값이 저장됩니다. 그럼 스택 구조를 먼저 알아보도록 하겠습니다..
CLR(Common Language Runtime, 공통 언어 런타임)은 마이크로 소프트 이니셔티브에서 제공하는 가상 머신의 구성요소입니다. .NEt Framework 언어로 개발된 프로그램 코드는 CIL로 알려진 공통 중간 언어(Common Intermediate Language, CIL)를 실행합니다. CIL은 바이트코드형태로 구성이 되어 있습니다. CLR를 설명할 때 가장 쉽게 예를 들 수 있는 개념이 Java의 JVM(Java Virtual Machine, 자바가상 머신)입니다. JVM은 자바로 개발된 소스코드를 컴파일 한 결과를 실행시키는 실행 환경입니다. CLR은 마이크로소프트에서 제공하는 가상 머신의 하나의 요소라고 보시면 됩니다. CLR의 기능은 아래의 그림을 통해서 명백히 이해할 수 있습..
이 글에서는 C#에서 구조적인 데이터를 표현하기 위한 클래스의 사용법을 설명하고, 오브젝트와 클래스의 차이에 대해서 알아보도록 하겠습니다. C# 클래스는 필드, 메소드와 public, private의 접근자를 통해서 캡슐화를 지원합니다. new 연산자는 클래스의 객체 생성에 사용이 됩니다. C#에서 레퍼런스 사용법 및 가비지 컬렉션의 역할에 대해서 설명을 할 것입니다. 또한 특정 인스턴스가 아닌 전체 클래스에서 적용이 가능한 정적 멤버에 대해서도 이야기 할 것입니다. C#에서 특정 상수를 사용하기 위한 Const와 readonly 또한 설명할 것입니다. 1. 구조적 데이터로사용 되는 클래스 언어에 내장되어 있는 기본 데이터 타입을 정의하고 있습니다. 정수형, 불리언과 같은 데이터 타입은 간단한 데이터를 ..
마이크로소프트 최신 프로그래밍 언어 : Visual C# 마이크로소프트 Visual C# .NET 은 마이크로소프트 .NET 기술 기반의 새로운 프로그래밍 언어로, 개발 시간과 비용을 줄여 빠르고 쉬운 개발이 가능하다고 주장을 하고 있습니다. 이 글에서는 C#에 대한 소개와 프로그래밍의 실제 모습에 대해서 이야기하도록 하겠습니다. 테스트 및 측정 기반의 C# 언어의 전체 기능을 모두 사용하기 위해서는 이 언어가 .NET Framework와 어떻게 연동이 되는지를 파악해야 합니다. 이 글에서는 C# 및 객체 지향적 접근에 대한 논의는 물론, 프로그래밍 하는 방법과 테스트 및 측정 어플리케이션 개발에 적합한 방법에 대해서 이야기할 것입니다. 1. The .NET Framework: 배경 지식 공용 언어 런타..