기본 컴퓨터공학
객체지향 프로그래밍 → 시간의 흐름 순이 아닌 객체간의 관계와 협력 기반
0과 1로만 데이터 저장
Sun 95年 Java개발 → 09年 Oracle이 Sun인수
C언어 : 컴파일러 → 컴파일
Java : 컴파일러 2개 → OS에 종속되지 않음
Java Program → Java Sourve Code(.java file) → Java Compiler → Java bytecode(.class file) → JVM(번역기의 역할을 함)
bit : 최소단위
byte : 8bit
0 1 2 3 4 5 6 7 8 9 10
2진수 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 |
---|
8진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 1 0 | 1 1 | 1 2 |
10진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
16진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A |
Ex) 8Bit로 5 : 00000101 → 맨 앞 비트는 부호비트로서 0이면 양수 1이면 음수
- 1개의 bit : 2^1 개의 수를 표현 가능 0~1
- 2개의 bit : 2^2 개의 수를 표현 가능 2^2 - 1 까지
- 3개의 bit : 2^3 개의 수를 표현 가능 2^3 - 1 까지
- int num = 10;
- int bNum = 0B1010 = 10 (0B : 2진수라는 의미)
- int oNum = 012 = 10 (0 : 8진수라는 의미)
- int xNum = 0XA = 10 (0X : 16진수라는 의미)
Java 기초
- 파일 이름과 클래스 이름은 동일해야 함
- 하나의 파일에는 하나의 클래스만 원칙으로
- 클래스 이름은 대문자로 시작하고 단어가 바뀔 때 마다 대문자로 (Camel Notation)
- 중괄호{ }를 통해 시작과 종료를 지정 할 것
- main( ) 메소드만 실행 가능하고 실행하고자 하는 코드는 main( ) 메소드 안에 위치해야 함
Variable(변수)
- Literal : 숫자, 문자, 논리값을 뜻함(정수 int, 실수 double/정수의 범위 초과 L)
- 의미를 명확하게 전달하기 위해 변수가 필요하다[ex)int num = 10; 10이라는 숫자는 4byte로 자리 잡고 있음)
- 변수마다 다룰 수 있는 자료형이 다를 수 있음
- 변수 : 값이 변하는 것
- 숫자로 시작 X
- 공백 X
- 특수 기호 X($, _ 는 가능)
- 대소문자 구분
- java 내 예약어 X
- 소문자 시작 새로운 단어 대문자 시작
- 축약 X, 의미 전달 가능하게
- 상수 : 값이 변하지 않는 것
- final 예약어를 사용한다
- final int STUDENT_NUM = 30; 일 때, 학생이 전학와서 +5를 할 때 final 값만 찾아서 바꿔주면 된다
- Datatype(자료형) : 수에 맞는 datatype을 먼저 선언해야 한다
- 문자냐 숫자냐, 몇 비트냐의 차이(비트로 기억하는 것이 좋음 1byte = 8bit)
- 논리형 - boolean : 1byte (true/false)
- 문자형 - char : 2byte (char(한글자) : ‘ ‘/ string(문자열) : “ “ ex)”이름”
- 정수형
- byte : 1byte [-2^7 ~ 2^7 - 1 개의 수를 표현 가능]
- short : 2byte [-2^15 ~ 2^15 - 1 개의 수를 표현 가능]
- int : 4byte [-2^31 ~ 2^31 - 1 개의 수를 표현 가능]
- long : 8byte : literal 뒤에 long을 의미하는 L을 붙혀야 함 [-2^63 ~ 2^63 - 1 개의 수를 표현 가능]
- 실수형
- float : 4byte : literal 뒤에 float을 의미하는 F를 붙혀야 함
- double : 8byte
- Datatype
- character set: 문자를 숫자로 변환한 값의 세트
- 문자도 정수로 표현한다‘A’는 2byte 문자 “A”는 String : 문자 열
- ‘A’ → 인코딩 → 65(A의 ASKII값) → 디코딩 → ‘A’
- encoding: 문자가 숫자로 변환되는 것
- decoding: 숫자에서 다시 문자로 변환되는 것
- ASKII code: 알파벳과 숫자 특수 문자등을 1바이트에 표현하는데 사용하는 문자세
- UNICODE: 전 세계 표준으로 만든 문자 세트
- UTF-8: 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있음
- UTF-16: 2바이트로 문자를 표현