이 과정에서 컴퓨터는 이진수(0, 1), 사람은 말(언어)를 사용하고 통역은 존재하지 않음.
그래서 만든 언어들이 C, Python, Java 등이다.
프로그래밍 언어를 배우는 목적은 컴퓨터와의 대화이다.
본래 정보는 옳고 그름과는 거리가 있다.
하지만 '사람들이 이러한 의사결정이 맞는 걸까?'라는 생각에서 시작된 'IOT(사물인터넷)'
그리고 사물이 인터넷으로 연결되니 자료가 많아지니 '빅데이터'
빅데이터를 저장하고 관리, 처리하기 위한 '클라우드'
빅데이터를 분석해서 지식(Knowledge)을 얻는다. 지식은 맞는 것을 찾는 것이다.
그리고 그 지식이 쌓이면, 기계에게 가르치고(AI), 이를 통해 지혜(Wisdom)를 얻는다.
결론적으로 프로그램의 목적은 '정보화'다.
정보, 처리, 즉 정보처리를 중요시하는 학파 : 정보처리 (programmer)
자료, 처리, 즉 자료처리를 중요시하는 학파 : 시스템 엔지니어, DBA, 네트워크 엔지니어, security
세상에 존재하는 모든 것이 자료이고 프로그램은 이 자료에서 시작한다.
컴퓨터가 탄생하면서부터 알고 있는 것은 숫자다.
이 숫자(수)를 바탕으로 표현하는 것들
1. 논리(참, 거짓)
00000000
false
구분
int x - 0
boolen b -false
2. 문자
mapping의 원리로, 아스키 코드 2^7 = 128개 (0~127) 맨 앞 비트는 검증용
n비트 컴퓨터 : 한 번에 읽는 양
8비트, 아스키코드 7개이며, 한 자리가 남는다.
ISO-8859-1 (서유럽 코드)는 8비트를 전부 사용한다.
아시아 국가들을 감안했을 때는 2byte = 2^16 = 0~65535 = 65536 (유니코드)
3. 숫자
정수, 실수
1, 2, 3 : 기본자료형
기본자료형(자료) -> 연산자, 제어문, (처리) -> 배열(동일한 Data box처리) kor[100][3][10][50]
배열의 문제점 : 예를 들어 시험 점수를 기입할 때 "미응시"는 어떻게 처리할 것인가?
1. 즉 서로 다른 자료를 어떻게 처리할 것인가?
2. 개수 : [50]인데 자료가 추가될 필요성이 있다면? (무한대의 필요성)
개수의 문제는 Java Collection Framework (무한데이터)로 해결.
서로 다른 자료형의 문제는 C에서는 구조체로 해결하려 했으나 이는 결론적으로 실패했고(메모리 관리에 실패),
공용체로 이어진다.
그래서 C++ 에서 객체(Object)를 만들어 낸다.
'IT&코딩 > Java' 카테고리의 다른 글
Java - 6일차 (배열) (0) | 2022.10.20 |
---|---|
Java - 5일차 (제어문) (0) | 2022.10.20 |
Java - 4일차 (표준입출력) (0) | 2022.10.20 |
Java - 3일차 (연산자) (2) | 2022.10.20 |
Java - 2일차 (자료형) (0) | 2022.10.12 |