본문 바로가기

우아한 코딩34

[자바]가비지 컬렉터(Garbage Collector)의 작동 과정 이해하기 자바 프로그래밍에서 가비지 컬렉션은 중요한 주제 중 하나입니다.메모리 관리는 프로그램의 성능과 안정성에 큰 영향을 미치는 요소 중 하나이며, 가비지 컬렉터는 이를 자동화하여 개발자가 메모리 관리에 대한 부담을 줄여줍니다.이번 포스팅에서는 자바 가비지 컬렉터의 작동과정에 대해 알아보겠습니다.먼저 가비지 컬렉션의 필요성과 메모리 관리의 중요성에 대해 살펴보고,가비지 컬렉터의 동작 원리와 알고리즘에 대해 자세히 알아보겠습니다.마지막으로 가비지 컬렉션의 성능 향상 방법과 장단점도 살펴보겠습니다.1. 가비지 컬렉션의 필요성 자바에서는 프로그램이 실행되면서 동적으로 할당된 메모리를 관리해야 합니다.프로그램이 실행되는 동안 객체를 생성하고 사용하는데, 이 과정에서 더 이상 필요하지 않은 객체들이 메모리에 쌓일 수 있.. 2024. 5. 14.
[C#] 이벤트 개념과 이벤트를 이용한 코딩 사례 3가지 C#에서 객체 간의 통신과 상호작용을 가능하게 하는 유용한 기능으로 이벤트가 있습니다. 이번 글에서는 이벤트의 개념과 이벤트를 이용하여 유용한 코딩 사례를 살펴보겠습니다. 이벤트(Event)의 개념 이벤트의 선언과 구독 이벤트를 이용한 유용한 코딩 사례: 옵저버 패턴 이벤트를 이용한 유용한 코딩 사례: 이벤트 기반 프로그래밍 이벤트를 이용한 유용한 코딩 사례: 비동기 프로그래밍 1. 이벤트(Event)의 개념 이벤트란 프로그램 내에서 발생하는 신호를 나타내며, 주로 객체 간 상호작용 및 통신에서 중요한 역할을 합니다. 사용자의 동작이나 시스템 상태의 변화와 같은 외부 요소로 인해 발생하며, 해당 이벤트에 연결된 핸들러가 실행됩니다. 또한, 이벤트는 객체 지향 프로그래밍에서 코드의 모듈화와 유연성을 증가시.. 2024. 4. 19.
[C#] 추상 클래스와 추상 메서드의 개념과 활용 방법 객체 지향 프로그래밍에서 추상 클래스와 추상 메서드는 코드의 구조화와 유연성을 증가시키는데 도움이 되는 도구입니다.이 두 가지 개념은  객체 지향적인 설계를 구현하는 데에 필수적인 다형성과 상속의 핵심 요소입니다 이번 글에서는 추상 클래스와 추상 메서드의 개념과 활용 방법을 자세히 알아보겠습니다  1. 추상 클래스(Abstract Class) 란?일반적인 클래스와는 달리 추상 클래스는  한 개 이상의 추상메서드를 포함할 수 있으며, 추상 메서드는 구현이 없는 메서드로 파생 클래스에서는 반드시 구현되어야 합니다.또한, 추상 클래스는 직접적으로 인스턴스화될 수 없고 파생 클래스를 통해 인스턴스화되어 사용됩니다. 추상 클래스도 일반 클래스처럼 필드, 속성과 일반 메서드를 포함할 수 있습니다.하지만 추상 클래스.. 2024. 4. 15.
Delegate를 이용한 콜백 표현 안녕하세요? 이번 글에서는 함수 포인터와 유사한 개념으로, 메서드를 참조할 수 있는 'Delegate'를 이용하여 콜백을 표현하는 방법에 대해 알아보겠습니다. 콜백(callback)을 구현하여 비동기적인 이벤트 처리나 다른 객체로부터의 알림을 받을 수도 있습니다. 1. Delegate의 개념 C# 에서 Delegate는 함수 포인터와 유사한 개념으로 메서드를 참조할 수 있는 형식이라 할 수 있습니다. 또한 다른 언어의 함수포인터와도 비슷한 역할을 하며, 메서드 시그니처가 일치하는 모든 메서드를 참조할 수 있습니다. 2. 콜백(callback) 함수와의 관계 Delegate를 이용하면 다른 객체나 시스템으로부터의 알림을 받는 콜백 함수를 구현할 수 있습니다. 그리고 Delegate를 통해 콜백 함수를 지정.. 2024. 4. 12.