카테고리 보관물: Programming

[Kotlin] Annotation

Contents1 어노테이션(annotation)2 커스텀 어노테이션 정의3 어노테이션 매개변수 추가4 어노테이션 추가 속성 지정4.1 대상 지정4.2 보존 정책 지정5 어노테이션 사용 어노테이션(annotation) 어노테이션(annotation)은 코드에 메타데이터를 추가하는 방법으로, 컴파일러에게 정보를 제공하거나 실행 시간(runtime)에 특정 동작을 지정하는 데 사용됩니다. Kotlin에서는 이러한 어노테이션을 사용자가 직접 … 계속 읽기

카테고리: Kotlin | 댓글 남기기

[Kotlin] 다형성과 인터페이스

원문 : [MEDIUM] Polymorphism and Interfaces in Kotlin: A Powerful Duo 다형성과 인터페이스 다형성: 다양한 클래스의 객체를 공통 슈퍼클래스의 객체로 취급할 수 있게 하는 객체지향 프로그래밍의 원리입니다. 이를 통해 하나의 인터페이스나 슈퍼클래스로 여러 관련 클래스를 대표할 수 있습니다. 예를 들어, Shape … 계속 읽기

카테고리: Article 정리, Kotlin | 댓글 남기기

[C] qsort() 함수

C언어에서 배열을 정렬하는 방법 중 하나는 표준 라이브러리 함수인 qsort()를 사용하는 것입니다. qsort()는 C 언어의 표준 라이브러리 중 하나인 stdlib.h 헤더 파일에 정의되어 있으며, 퀵 정렬 알고리즘을 기반으로 합니다. 이 함수는 배열의 요소 타입에 상관없이 정렬을 수행할 수 있습니다. qsort() … 계속 읽기

카테고리: C, Programming | 댓글 남기기

[Kotlin] Array와 IntArray의 차이점

Kotlin에서 정수 배열을 선언할 때, Array<Int>와 IntArray를 사용할 수 있습니다. 두 타입 모두 정수 배열을 나타내지만, 둘 사이에는 몇 가지 중요한 차이점이 있습니다. 1. 표현 방식 Array<Int>는 일반적인 배열로, 각 요소는 Int 객체입니다. 반면에 IntArray는 원시 타입 배열로, 각 요소는 … 계속 읽기

카테고리: Kotlin, Programming | 댓글 남기기

[C] 댕글링 포인터(Dangling Pointer)

댕글링 포인터 정의 포인터가 여전히 해제된 메모리 영역을 가르키고 있다면, 이러한 포인터를 댕글링 포인터(Dangling Pointers)라고 부른다. ⇒ 댕글링 포인터가 가리키는 메모리는 유효하지 않다. 댕글링 포인터는 종종 너무 빠른 해제(premature free)라고 불린다. 댕글링 포인터 문제점 메모리 접근 시 예측 불가능한 동작 … 계속 읽기

카테고리: C, Programming | 댓글 남기기

[C] 메모리 누수(Memory Leak)

메모리 누수 정의 메모리 누수는 할당된 메모리가 더는 사용되지 않지만, 해제되지 않을 때 발생한다. 이를 테면 다음과 같은 상황에서 발생한다. 메모리의 주소를 잃어버린 경우 free 함수가 호출되어야 하는 상황에 호출되지 않은 경우 메모리 누수의 예 메모리 누수가 누적되면 힙 관리자가 … 계속 읽기

카테고리: C, Programming | 댓글 남기기

[C] 포인터와 메모리

C 프로그램에서의 메모리 컴파일된 C 프로그램은 다음 세 종류의 메모리를 사용한다. 정적(Static)/전역(Global) 정적(Static)/전역(Global)으로 선언된 변수들은 정적/전역 메모리에 할당된다. 정적/전역 변수들은 프로그램이 시작될 때 할당되며, 프로그램이 종료될 때까지 메모리 공간에 남아 있다. 전역 변수는 파일 전체가 접근 범위(scope)이며, 정적 변수의 접근 … 계속 읽기

카테고리: C, Programming | 댓글 남기기

[Kotlin] IntelliJ IDEA 설치(with 학생 인증)

이번 글에서는 IntelliJ IDEA의 설치 및 라이센스 인증 방법에 대해서 설명합니다. IntelliJ IDEA 란? IntelliJ IDEA는 JetBrains사에서 제작한 상용 자바 통합 개발 환경입니다. 줄여서 IntelliJ 혹은 IDEA로도 부릅니다. 2001년 첫 출시 때부터 편리한 코드 컴플리션 및 리팩토링 기능으로 수많은 Java 개발자들이 IDEA로 유입되었으며, 2009년에 무료 … 계속 읽기

카테고리: Kotlin, Programming | 댓글 남기기

[C] 구조체 정렬(메모리 패딩)

개요 C언어에서 구조체가 메모리에 적재되었을때 구조체의 멤버 변수들은 선언된 순서대로 인접한 주소 번지에 위치하게 됩니다. 첫번째로 선언된 멤버가 오프셋 0으로 지정되며 그 이후에 구조체 멤버 변수의 데이터 타입에 따라 오프셋이 지정됩니다. 다음의 코드를 보고 결과를 예상해 봅시다.

선언된 구조체 … 계속 읽기

카테고리: C, Programming | 댓글 남기기