분류 전체보기84 [CS] 소스코드와 명령어 프로그래밍 언어로 작성한 소스코드가 컴퓨터 내부에서 명령어가 되고 실행하는 과정 알아보기❗ 1️⃣ 고급 언어와 저급 언어 프로그램을 만들 때 사용하는 프로그래밍 언어는 컴퓨터가 이해하는 언어가 아닌 사람이 이해하고 작성하기 쉽게 만들어진 언어이다. 해서 컴퓨터는 이 언어를 이해하지 못한다. 이렇게 '사람을 위한 언어'를 고급 언어high-level programming language라고 한다. 알고 있는 대부분의 프로그래밍 언어는 고급 언어이다. 반대로 컴퓨터가 직접 이해하고 실행할 수 있는 언어를 저급 언어low-level programming language라고 한다. 컴퓨터가 이해할 수 있는 언어는 오직 저급 언어뿐이다. 고급 언어로 작성된 소스 코드가 실행되려면 반드시 저급 언어, 즉 명령어로 .. 2023. 1. 14. [CS] 0과 1로 문자를 표현하는 방법 1️⃣ 문자 집합과 인코딩 1) 문자 집합(character set) 컴퓨터가 인식하고 표현할 수 있는 문자의 모음. 컴퓨터는 문자 집합에 속해 있는 문자를 이해할 수 있고, 반대로 문자 집합에 속해 있지 않은 문자는 이해할 수 없다. 예를 들어서 문자 집합이 {a, b, c, d, e}인 경우 컴퓨터는 이 다섯 개의 문자를 이해할 수 있고, f나 g 같은 문자는 이해하지 못한다. 2) 문자 인코딩(character encoding) 문자 집합에 속한 문자라고 해서 컴퓨터가 다 이해할 수 있는 것은 아니다. 문자를 0과 1로 변환해야 비로소 컴퓨터가 이해할 수 있다. 이것을 문자 인코딩이라고 하고 인코딩 후에 0과 1로 이루어진 결과값이 문자 코드가 된다. 같은 문자 집합에 대해서도 다양한 인코딩 방법이.. 2023. 1. 12. [CS] 0과 1로 숫자를 표현하는 방법 1️⃣ 정보 단위 컴퓨터가 이해하는 가장 작은 정보 단위는 비트(bit)라고 한다. 비트는 전구에 빗대어 생각을 해보면 쉽다. 전구 한 개가 꺼지거나 켜지는 상태 두 가지의 상태를 표현할 수 있듯이 1비트는 0 또는 1, 두 가지 정보를 표현할 수 있다. 그럼 2비트는 몇 개의 정보를 표현할 수 있을까? 두 개의 전구는 다음과 같이 표현할 수 있다. (켜짐 켜짐) (켜짐 꺼짐) (꺼짐 켜짐) (꺼짐 꺼짐) 두 개의 전구가 네 가지의 상태를 표현할 수 있었으니 2비트는 4가지의 정보를 표현할 수 있다. 그러면 3비트는 당연하게 8가지의 정보를 표현할 수 있다. 하여 n비트는 2ⁿ가지의 정보를 표현할 수 있다. ✅ 그럼 바이트는 무엇일까? 바이트(byte)는 여덟 개의 비트를 묶은 단위로, 비트보다 한 단계.. 2023. 1. 10. [Java] 객체지향언어, 클래스, 객체 정리 1️⃣ 객체지향언어 기존의 프로그래밍언어와 다른 새로운 것이 아닌, 기존의 프로그래밍 언어에서 몇 가지 새로운 규칙을 추가한 보다 발전된 형태. 규칙들을 이용해서 코드 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성하는 것이 가능해졌다. 기존의 프로그래밍 언어에 익숙하다면 자바의 객체지향적인 부분만 새로 배우면 된다. 다만 절차적 언어에 익숙한 프로그래밍 습관을 객체적으로 바꾸도록 노력해야 한다. 아래는 객체지향 언어의 주요 특징이다. 1. 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어.. 2023. 1. 5. [Java] JVM 메모리 구조 1️⃣ JVM(Java Virtual Machine)이란? 자바 가상 머신 JVM(Java Virtual Machine)은 자바 프로그램 실행환경을 만들어 주는 소프트웨어이다. 자바 코드를 컴파일하여 .class 바이트 코드로 만들면 이 코드가 자바 가상 머신 환경에서 실행된다. JVM은 자바 실행 환경 JRE(Java Runtime Environment)에 포함되어 있다. 현재 사용하는 컴퓨터의 운영체제에 맞는 자바 실행환경 (JRE)가 설치되어 있다면 자바 가상 머신이 설치되어 있다는 뜻이다. ✅ JVM의 특성 ● 스택 기반의 가상머신 ● 단일 상속 형태의 객체 지향 프로그래밍을 가상머신 수준에서 구현 ● 포인터를 지원하되 C와 같이 주소값을 임의로 조작이 가능한 포인터 연산은 불가능 ● 가비지 컬렉.. 2022. 12. 29. [Java] String배열 1️⃣ String배열의 선언과 생성 String[] name = new String[3]; //3개로 이루어진 문자열을 담을 수 있는 배열 배열의 타입이 String인 것도 int배열의 선언과 똑같이 한다. 3개의 String타입의 참조변수를 저장하기 위한 공간이 생기고 참조형 변수의 기본값은 null이다. 그래서 각 요소의 값은 null로 초기화된다. 여기서 null은 어떤 객체도 가리키지 않는 뜻. 아래는 타입별로 변수들의 기본값을 정리한 것. 자료형 기본값 boolean false char '\u0000' byte, short, int 0 long 0L float 0.0f double 0.0d 또는 0.0 참조형 변수 null 2️⃣ String배열의 초기화 String[] name = new S.. 2022. 12. 27. 이전 1 ··· 10 11 12 13 14 다음