본문 바로가기
728x90

분류 전체보기302

[C언어] 포인터 기본 개념 알아보기 [C언어] 포인터 기본 개념 알아보기 c는 매뉴얼이 많다. 자바가 일반 자동변속기 승합차라면, c는 90년대 대형버스라고 할 수 있다. 많은 것들을 내가 스스로 조작할 수 있다. 변속이라던지, 가속이라던지, 문을 열고 닫는다던지, 저단 기어를 넣어서 느리지만 힘을 가지고 갈 지 등등, 많은 것들을 개발자가 조종할 수 있다. 그래서 Low 레벨 언어라고도 한다. 포인터는 메모리 주소와 연관되어 있는 문법이다. 메모리는 이전 글에서 살펴봤듯, 힙과 스택 영역에 위치한다. 이전글 : 2022.06.27 - [프로그래밍 언어/C\C++] - [C언어] C언어의 메모리 관리 그 스택 영역은 고유한 주소값을 가지고 있고, 포인터를 쓰면 변수가 저장된 메모리 주소를 불러올 수 있다. 메모리 주소를 불러온 것을 가지고.. 2022. 6. 27.
[Java] 자바의 메모리 사용 구조 [Java] 자바의 클래스와 메모리 사용 구조 자바는 메모리를 관리해준다. Garbage Collector가 개발자가 만들어놓고 사용하지 않는 객체들을 수거하고 stack은 변수가 들어왔다 나갔다 하면서 stackoverflow가 일어나지 않게 만들어준다. 그렇지만, 내가 만든 변수가 어디에 저장되고 어떤 식으로 동작을 하는지는 알아야 한다. 그래야 컴퓨터의 성능을 최대한 활용하는 프로그램을 만들 수 있으니까. 이번 포스팅에서는 아래와 같은 클래스와 변수들이 존재할 때, 자바는 메모리를 어떻게 사용하는 지를 알아본다. 상속, 다형성의 개념도 함께 다룰 것이기 때문에, 상속 또는 다형성이 잘 이해가 되지 않는다면, 아래의 이전 글을 참조하는 것이 좋을 것 같다. 2022.06.13 - [프로그래밍 언어/J.. 2022. 6. 27.
[Java] 클래스 제대로 알아보기 [Java] 클래스 제대로 알아보기 앞선 포스팅에서 클래스 변수와 인스턴스 변수만 이야기하고, 클래스에 대한 이야기는 하지 못했다. 그래서 다음 포스팅인 메모리 사용구조와 더불어서 클래스에 대해 알아보는 시간을 가지려고 한다. 클래스는 사용자가 자주 활용하는 변수, 메소드, 생성자 타입 등을 모두 보관해놓은 문서이다. 메인 클래스 하나로만 코딩을 하는 것은 절차 지향이고, 클래스를 여러 개 나누어서 모듈화시켜 놓은 것을 객체 지향 프로그래밍이라고 한다. 만약, ‘비빔밥 식사’라는 행위를 ‘프로그래밍’에 비유한다고 하면, 비벼놓은 비빔밥이 절차지향이고, 비빔밥들의 재료들만 깔끔하게 손봐놓은 것이 객체지향 방식의 취식 방법이라고 할 수 있겠다. 클래스는 아래와 같이 따로 존재한다. ++ : 보통 클래스는 다.. 2022. 6. 27.
[C언어] C언어의 메모리 관리 [C언어] C언어의 메모리 관리 함수가 사용될 때 메모리가 얼마나 필요한가? 메인 함수를 구성하고 있는 지역변수와 사이즈를 보면 된다. 운영체제는 메인함수가 실행될 때, 메모리 공간을 확보해둔다. 몇 바이트가 필요한지는 실행해봐야 알 수 있을까? 소스코드 -> 컴파일 => 실행파일 => OS에 의해 실행 컴파일 타임 런타임 컴파일에 의해 미리 알 수 있다. 컴파일러는 정적 분석을 통해 int가 몇 개 있는지를 확인할 수 있다. 그렇기 때문에 런타임 시에 그 함수가 실행될 때, 메모리 안에 그 함수가 필요한 크기 만큼의 집을 마련해준다. 함수라는 집 공간 안에 int i, int j 등의 방이 만들어진다. 그러고 printf 라는 함수가 더해진다고 하면, printf를 위해 만들어 지는 집이 따로 만들어진.. 2022. 6. 27.
운영체제 32비트와 64비트의 차이점 운영체제 32비트와 64비트의 차이점 운영체제의 비트(32bit, 64bit) 32비트 os, 64비트 os의 차이가 무엇일까? 32비트 os는 32비트 cpu에 맞춰진 os이고, 64비트 os는 64비트 cpu에 맞춰진 os이다. 레지스터가 cpu에서 사용하는 기본 저장 단위이다. 16, 32, 64비트 등이 있는데, 메모리 주소 레지스터라고 있다. 메모리의 주소를 담는 레지스터가 있는데, 이 크기의 차이인 것이다. 메모리 주소의 기본 단위가 다른 것이다. 2022.06.27 - [분류 전체보기] - [컴퓨터구조] CPU와 운영체제 그리고 메모리 램은 hdd와 cpu간의 속도 차이를 보완해준다. 램은 하드디스크로부터 일정량의 데이터를 임시로 저장하고 느린 하드디스크를 대신해서 램과 cpu과 데이터를 교.. 2022. 6. 27.
[컴퓨터구조] CPU와 운영체제 그리고 메모리 [컴퓨터구조] CPU와 운영체제 그리고 메모리 1. CPU의 구조 CPU는 Control unit, ALU, 레지스터 세 가지로 구성되어 있다. Control unit은 어떤 일을 진행하는 것을 계획하는 등 총괄하는 것 ALU는 계산만 한다. 빠르게 처리. 레지스터는 기억력을 담당한다. cpu에 내장되어 있는 용량이 작은 기억장치이라고 보면 된다. 상세 구성, 비유 Control Unit : 매니저 ALU : 계산 레지스터, 프로그램 카운터 : 현재 실행중인 소스코드 라인을 가리킴. 레지스터, 명령어 레지스터 : 현재 실행중인 명령어를 실질적으로 가져온다. 레지스터, 메모리 주소 레지스터 : 타켓(목표하는 데이터가 있는 메모리의 주소) 레지스터, 메모리 데이터 레지스터 : 타겟에서 가져온 데이터 혹은, .. 2022. 6. 27.
728x90