java
-
///기초 여기까지는 초심자의 영역 프로그램을 작성하다 보면 같은 성격을 띈 다수의 데이터를 한번에 다루어야 할 경우가 존재한다. 예를 들어 학생수가 5명인 반의 학생들의 점수를 만든다면 int socre_1=10; int socre_2=50; int socre_3=70; int socre_4=80; int socre_5=100; 의 변수가 필요하겠지만 만약 학급의 인원이 50명이 된다면 변수를 어떻게 해야할까? 50개를 연달아 만들것인가? 그래서 나온 것이 바로 배열이다. 배열(array)은 같은 타입의 변수들로 이루어진 유한 집합으로 정의된다. 그리고 배열에서 그 위치를 가르키는 것이 Index라는 숫자다. 인덱스는 1이 아니라 0부터 시작한다. 그 이유는 아래와 같다. Java와 C#에서 배열은 참..
배열에 관하여///기초 여기까지는 초심자의 영역 프로그램을 작성하다 보면 같은 성격을 띈 다수의 데이터를 한번에 다루어야 할 경우가 존재한다. 예를 들어 학생수가 5명인 반의 학생들의 점수를 만든다면 int socre_1=10; int socre_2=50; int socre_3=70; int socre_4=80; int socre_5=100; 의 변수가 필요하겠지만 만약 학급의 인원이 50명이 된다면 변수를 어떻게 해야할까? 50개를 연달아 만들것인가? 그래서 나온 것이 바로 배열이다. 배열(array)은 같은 타입의 변수들로 이루어진 유한 집합으로 정의된다. 그리고 배열에서 그 위치를 가르키는 것이 Index라는 숫자다. 인덱스는 1이 아니라 0부터 시작한다. 그 이유는 아래와 같다. Java와 C#에서 배열은 참..
2023.08.03 -
///확장 여기서부터는 조큼 어려워요~ 자료구조란 프로그래밍에서 데이터(자료)를 효율적으로 관리하는 것은 매우 중요한데 자료구조란 데이터를 구조적으로 표현하고 구현하는 알고리즘을 뜻한다. 즉 데이터를 특정한 구조로 만들어서 보여주는 함수같은 것이다. 자료구조에는 선형구조와 비선형구조로 나뉘는데 선형구조 자료를 순차적으로 나열한 형태 종류: 배열, 연결 리스트, 스택/큐 비선형 구조 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 종류: 트리, 그래프 로 나뉜다. c# 자료구조 c#의 자료구조는 컬랙션 클래스를 지원한다. 컬랙션이라고 하면 Enurmerator에서 파생된 클래스인데 다양한 형태의 선형구조의 자료구조를 지원한다. 컬렉션은 일반 컬랙션(제네릭 컬렉션)과 비일반 컬랙션(비 제네릭 컬렉션) 으로..
자료구조에 대하여///확장 여기서부터는 조큼 어려워요~ 자료구조란 프로그래밍에서 데이터(자료)를 효율적으로 관리하는 것은 매우 중요한데 자료구조란 데이터를 구조적으로 표현하고 구현하는 알고리즘을 뜻한다. 즉 데이터를 특정한 구조로 만들어서 보여주는 함수같은 것이다. 자료구조에는 선형구조와 비선형구조로 나뉘는데 선형구조 자료를 순차적으로 나열한 형태 종류: 배열, 연결 리스트, 스택/큐 비선형 구조 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 종류: 트리, 그래프 로 나뉜다. c# 자료구조 c#의 자료구조는 컬랙션 클래스를 지원한다. 컬랙션이라고 하면 Enurmerator에서 파생된 클래스인데 다양한 형태의 선형구조의 자료구조를 지원한다. 컬렉션은 일반 컬랙션(제네릭 컬렉션)과 비일반 컬랙션(비 제네릭 컬렉션) 으로..
2023.08.02 -
데이터의 형식은 기본 데이터 형식과 복합 데이터 형식으로 나뉜다. 복합 데이터 형식은 구조체와 클래스, 배열 등이 있는데 이 부분은 나중에 배웁니다. 그렇다면 기본 데이터 형식에 대해 알아보겠습니다. 또한 데이터 형식은 값 형식과 참조 형식이 존재합니다. 값 형식은 스택 메모리 공간에 데이터가 생성되며 값을 직접 가지고 있습니다. 참조형식은 힙 메모리 공간에 값이 존재하고 그 메모리 주소를 스택에서 참조하고 있는 방식을 말합니다. 어려우시죠? 일단은 넘어갑시다. https://developer-talk.tistory.com/50 이해안된다면 여기를 봐주세요. 그 전에 우리는 변수라는 것에 대해서 공부를 하고 넘어가야 됩니다. 이 부분 때문에 우리는 2진수를 배우고 메모리라는 것을 배웠습니다. 변수 어디선..
c#의 데이터 종류데이터의 형식은 기본 데이터 형식과 복합 데이터 형식으로 나뉜다. 복합 데이터 형식은 구조체와 클래스, 배열 등이 있는데 이 부분은 나중에 배웁니다. 그렇다면 기본 데이터 형식에 대해 알아보겠습니다. 또한 데이터 형식은 값 형식과 참조 형식이 존재합니다. 값 형식은 스택 메모리 공간에 데이터가 생성되며 값을 직접 가지고 있습니다. 참조형식은 힙 메모리 공간에 값이 존재하고 그 메모리 주소를 스택에서 참조하고 있는 방식을 말합니다. 어려우시죠? 일단은 넘어갑시다. https://developer-talk.tistory.com/50 이해안된다면 여기를 봐주세요. 그 전에 우리는 변수라는 것에 대해서 공부를 하고 넘어가야 됩니다. 이 부분 때문에 우리는 2진수를 배우고 메모리라는 것을 배웠습니다. 변수 어디선..
2023.07.26 -
프로그래밍 언어란 컴퓨터가 계산할 수 있도록 돕는 언어이다. 위 그림은 자카드식 문직기 라고 한다. 왜 컴퓨터 언어를 설명하는데 제일 먼저 등장하냐 하면 이게 프로그래밍 언어의 기원이라고 한다. 자카드 직기가 무엇이나면 식탁보에 있는 레이스 같은 천을 보면 다양한 패턴이 있다. 이런 패턴을 예전에는 직접 손으로 만들다가 베틀같은 것을 이용하여 제작하였다. 그런데 복잡한 패턴같은 것을 만들려면 날실을 구성하는 수백개의 실들 중 수십개를 손으로 고르고 들어올려 만들어야 했다. 이를 돕기 위해 천공카드가 등장. 이러한 부분들을 구멍뚤린 카드인 천공카드를 이용하여 실을 넣고 패턴을 유지했다. 패턴에 맞는 실을 짜려면 천공카드들의 구멍이나 순서가 중요했고 천공카드의 배치나 구멍의 배치가 패턴의 다양화에 따라 발전..
뻘짓 하며 얻은 기본기 6 컴퓨터 언어의 기원프로그래밍 언어란 컴퓨터가 계산할 수 있도록 돕는 언어이다. 위 그림은 자카드식 문직기 라고 한다. 왜 컴퓨터 언어를 설명하는데 제일 먼저 등장하냐 하면 이게 프로그래밍 언어의 기원이라고 한다. 자카드 직기가 무엇이나면 식탁보에 있는 레이스 같은 천을 보면 다양한 패턴이 있다. 이런 패턴을 예전에는 직접 손으로 만들다가 베틀같은 것을 이용하여 제작하였다. 그런데 복잡한 패턴같은 것을 만들려면 날실을 구성하는 수백개의 실들 중 수십개를 손으로 고르고 들어올려 만들어야 했다. 이를 돕기 위해 천공카드가 등장. 이러한 부분들을 구멍뚤린 카드인 천공카드를 이용하여 실을 넣고 패턴을 유지했다. 패턴에 맞는 실을 짜려면 천공카드들의 구멍이나 순서가 중요했고 천공카드의 배치나 구멍의 배치가 패턴의 다양화에 따라 발전..
2023.07.20 -
컴퓨터는 0,1,0,1,0,0과 같은 이진법 밖에 이해를 못한다는 필자의 말을 기억하는가? 오늘은 컴퓨터의 기원에 대해 말해보려고 한다. 얼른 코딩이나 나가지 왜 또 이런걸 하나 싶지만 컴퓨터를 공부하는 사람으로서 컴퓨터가 뭐 때문에 만들어졌는지는 알고 써야 하지 않겠는가. 컴퓨터의 기원은 계산을 빠르게 하기 위한 도구에서 시작한다. 요새 젊은 친구들은 모르는 주판이라는 물건이다. 필자도 젊은 친구이기 때문에 어렸을 때 자동차놀이로 즐겨 쓰던 도구이지만 사실 빠른 수 계산을 위해 쓰던 유물이다. 하지만 컴퓨터의 기원이라고 하기엔 너무 아날로그이기에 주판은 기원에 끼워주지 않겠다. 다음으로는 우리에게 계산기라는 이미지에 가장 맞는 계산기이다. 디지털화 되었고 소형화 된 제품이다. 그런데 우리가 생각하기에 ..
뻘짓 하며 얻은 기본기 5 컴퓨터의 기원컴퓨터는 0,1,0,1,0,0과 같은 이진법 밖에 이해를 못한다는 필자의 말을 기억하는가? 오늘은 컴퓨터의 기원에 대해 말해보려고 한다. 얼른 코딩이나 나가지 왜 또 이런걸 하나 싶지만 컴퓨터를 공부하는 사람으로서 컴퓨터가 뭐 때문에 만들어졌는지는 알고 써야 하지 않겠는가. 컴퓨터의 기원은 계산을 빠르게 하기 위한 도구에서 시작한다. 요새 젊은 친구들은 모르는 주판이라는 물건이다. 필자도 젊은 친구이기 때문에 어렸을 때 자동차놀이로 즐겨 쓰던 도구이지만 사실 빠른 수 계산을 위해 쓰던 유물이다. 하지만 컴퓨터의 기원이라고 하기엔 너무 아날로그이기에 주판은 기원에 끼워주지 않겠다. 다음으로는 우리에게 계산기라는 이미지에 가장 맞는 계산기이다. 디지털화 되었고 소형화 된 제품이다. 그런데 우리가 생각하기에 ..
2023.07.19 -
드디어 뭔가 단어 다운 단어가 등장하였다. 컴파일러(compiler) 번역하면 번역기 혹은 해석기 정도로 되는 단어이시겠다. 저번에 필자가 프로그래머는 결국 인간의 언어를 컴퓨터의 언어로 번역하는 번역가라고 했었다. 물론 인간이 매번 번역을 일일이 하면 좋겠지만 도구를 사용할 줄 아는 만류의 영장 아니겠는가. 그래서 번역기라는 것이 있다. 쉽게말해 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램이다. 그런데 이상하다. 프로그래밍 언어를 짰다면 바로 컴퓨터가 이해하면 되는건데 왜 프로그래밍 언어로 짰는데 왜 또 다른 프로그래밍 언어로 만들어야 하는가? 그 이유는 언어에도 레벨이 있기 때문이다. 쉽게 말해 고급언어(c, c#, java 등)와 저 수준 언어(어셈블리, 기..
뻘짓 하며 얻은 기본기 4 컴파일러에 대해서드디어 뭔가 단어 다운 단어가 등장하였다. 컴파일러(compiler) 번역하면 번역기 혹은 해석기 정도로 되는 단어이시겠다. 저번에 필자가 프로그래머는 결국 인간의 언어를 컴퓨터의 언어로 번역하는 번역가라고 했었다. 물론 인간이 매번 번역을 일일이 하면 좋겠지만 도구를 사용할 줄 아는 만류의 영장 아니겠는가. 그래서 번역기라는 것이 있다. 쉽게말해 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램이다. 그런데 이상하다. 프로그래밍 언어를 짰다면 바로 컴퓨터가 이해하면 되는건데 왜 프로그래밍 언어로 짰는데 왜 또 다른 프로그래밍 언어로 만들어야 하는가? 그 이유는 언어에도 레벨이 있기 때문이다. 쉽게 말해 고급언어(c, c#, java 등)와 저 수준 언어(어셈블리, 기..
2023.07.18