전체 글(32)
-
비트(bit)란?
1. 비트(bit) 문자 언어는 다음과 같은 세 가지 구성요소로 이루어져 있습니다.기호가 들어갈 상자상자에 들어갈 기호상자의 순서 이러한 구성을 통해 문자 언어의 기본 틀을 이해할 수 있습니다. 각 상자에 어떤 기호가 어떤 순서로 들어가느냐에 따라 완전히 다른 뜻이 형성된다는 점을 확인할 수 있습니다. 이와 같이, 우리가 일상 생활에서 사용하는 자연어에서는 이러한 '상자'를 문자(character)라고 부릅니다. 컴퓨터 언어에서는 '상자'를 비트(Bit)라고 부릅니다. 비트는 2진법을 사용한다는 뜻의 바이너리(ㅠinary)와 숫자를 뜻하는 디지트(digit)의 합성어로, 컴퓨터가 정보를 표현하고 처리하는 가장 기본적인 단위입니다. 각 비트는 0 혹은 1, 두 가지 상태만을 가질 수 있으며, 이러한 비..
2024.05.01 -
자바 가상 머신(JVM, Java Virtual Machine)
자바는 1995년 선 마이크로시스템즈에 의해 개발된 객체 지향 프로그래밍 언어로, "한 번 작성하면 어디서나 실행된다(Write Once, Run Anywhere)"는 철학을 바탕으로 널리 사용되고 있습니다. 이러한 자바의 플랫폼 독립성을 가능하게 하는 핵심 요소 중 하나가 바로 자바 가상 머신(JVM)입니다. JVM은 자바 바이트코드를 해당 플랫폼의 기계어로 변환하여, 다양한 운영 체제에서 자바 애플리케이션을 실행할 수 있게 합니다.자바의 플랫폼 독립성 자바의 큰 장점 중 하나는 운영 체제(OS)에 종속적이지 않다는 점입니다. 개발자들은 자바로 작성된 애플리케이션을 어떤 플랫폼에서도 실행할 수 있습니다. 이는 자바 소스 코드가 직접적으로 운영 체제에 의존하지 않고, JVM이 이를 중간에서 처리하기 때문..
2024.04.28 -
자바(JAVA) 컬렉션(Collection)
자바(Java) 프로그래밍 언어에서 데이터를 효율적으로 관리하고 처리하기 위한 구조체는 필수적입니다. 이러한 필요성을 충족시키기 위해 자바는 다양한 컬렉션(Collection) 자료구조를 제공합니다. 컬렉션 프레임워크는 데이터를 저장, 검색, 정렬, 조작 등 다양한 방법으로 관리할 수 있게 해주는 클래스와 인터페이스의 집합입니다. 이 글에서는 자바의 주요 컬렉션 자료구조들을 살펴보고, 각각의 특징과 활용 방법에 대해 알아보겠습니다. 컬렉션 프레임워크의 구조 자바의 컬렉션 프레임워크는 크게 세 가지 주요 인터페이스로 구분됩니다: List, Set, Map. 각 인터페이스는 데이터를 관리하는 특정 방식을 정의하며, 이를 구현하는 다양한 클래스를 포함합니다. List 인터페이스 List 인터페이스는 순서가 있..
2024.04.19 -
[JAVA] 오버로딩(Overloading)과 오버라이딩(Overriding)
자바(JAVA)는 객체 지향 프로그래밍 언어로, 다형성(polymorphism)을 지원하는 여러 기능 중에서 메소드 오버로딩(Method Overloading)과 오버라이딩(Method Overriding)이 주요한 개념입니다. 이 두 기능은 코드의 재사용성을 높이고, 가독성을 개선하는 데 도움을 줍니다. 메소드 오버로딩(Method Overloading) 메소드 오버로딩은 같은 이름의 메소드를 여러 개 정의할 수 있게 해주지만, 메소드의 매개변수의 타입이나 개수가 달라야 합니다. 이는 같은 작업을 수행하지만, 입력되는 매개변수의 타입이나 개수가 다를 때 유용합니다. 오버로딩의 규칙 메소드 이름이 같아야 합니다. 매개변수의 개수나 타입이 달라야 합니다. 반환 타입과 접근 제어자는 오버로딩을 구분하는 데 ..
2024.04.16 -
[JAVA] Garbage Collection(가비지 컬렉션)
Java의 가비지 컬렉션(Garbage Collection, GC)은 자동 메모리 관리의 한 형태로, 개발자가 직접 메모리를 관리하지 않아도 되게 해주는 매우 유용한 기능입니다. 이 기능은 사용되지 않는 메모리를 자동으로 회수하여, 메모리 누수(memory leak)를 방지하고 애플리케이션의 효율성을 유지하는 데 도움을 줍니다. Java의 가비지 컬렉션이 어떻게 작동하는지, 그리고 그것이 왜 중요한지에 대해 알아보겠습니다. 가비지 컬렉션이란? 가비지 컬렉션은 프로그램이 동적으로 할당한 메모리 중에서 더 이상 사용되지 않는 부분을 자동으로 찾아서 회수하는 과정입니다. Java에서는 개발자가 메모리 할당과 해제를 직접 관리하지 않아도 되기 때문에, 메모리 관리가 훨씬 간편해집니다. 작동 원리 Java의 가비..
2024.04.13 -
메모리의 구조
컴퓨터 프로그램이 실행되는 동안, 메모리는 여러 영역으로 분할되어 각기 다른 역할을 수행합니다. 이러한 메모리 영역의 구분은 프로그램의 효율적인 실행과 데이터 관리에 필수적입니다. 본 글에서는 스택, 힙, 코드, 데이터 영역이라는 네 가지 주요 메모리 영역에 대해 알아보겠습니다. 1. 코드 영역(Code Area) 코드 영역은 프로그램의 실행 파일에 포함된 기계어 코드가 저장되는 곳입니다. 즉, 프로그램이 실행될 때 CPU가 읽고 실행하는 명령어들이 위치하는 영역입니다. 이 영역은 읽기 전용으로 설정되어 있어 프로그램 실행 동안 코드가 변경되지 않도록 보호됩니다. 2. 데이터 영역(Data Area) 데이터 영역은 프로그램의 전역 변수와 정적 변수가 저장되는 영역입니다. 프로그램의 시작과 동시에 할당되며..
2024.04.09