20/10/13

아라·2020년 10월 13일
0

국비교육

목록 보기
2/30

ligature

폰트 중 ligature가 있는 폰트가 있는데, 이런 폰트는 연산자를 입력할 경우 합쳐서 표시가 된다. 예를 들어 >=의 경우 위아래로 결합된 형태로 표시된다. 이런 폰트를 사용할 경우 ligature를 지원하는 IDE를 사용해야 한다.

자바프로젝트 폴더 안의 JRE System Library

JRE System Library 안의 ~.jar파일은 자바에서 사용하는 Zip파일.(자바 아카이브) Package Explorer에서 ~.jar파일 옆의 경로로 이동하여 그 파일을 압축풀기하면 자바코드가 번역된 확장자가 class인 실제 소스파일들이 나온다.
결과적으로 JRE System Library 안의 ~.jar파일들은 우리가 자주 사용하는 파일들을 정리하여 넣어놓은거라고 생각하면 된다. ~.class파일로 배포하면 양이 너무 많고 용량도 크기 때문에 압축하여 jar로 배포한다.

자바프로젝트 폴더 안의 src

소스파일을 관리하는 폴더. src 안에 생성하는 Package는 자바 파일을 담기 위한 폴더라고 생각하면 된다.

자바의 자료형

원시형(Primitive Type), 값형(Value Type) vs 참조형(Reference Type)
자바에는 어떤 자료형이 있냐고 물어보면 값형과 참조형으로 나눌 수 있다고 하면 된다.
10진수 : DEC, 8진수 : OCT, 2진수 : BIN, 16진수 : HEX

float과 double

float는 단정도, double은 배정도. 정도란 정밀도. 유효범위를 넘는 숫자를 그보다 작은 자료형에 넣으면 일부숫자는 0으로 표현이 된다. 즉, 컴퓨터에서 실수를 다루면 손실분이 생긴다. double은 float에 비해 유효숫자를 저장할 수 있는 가수부가 더 길어서 정밀도가 더 높은 자료형이다.

문자 코드표(ASCII)

문자와 숫자를 연결시켜놓은 규칙을 작성한 표. 256개의 문자(알파벳, 숫자, 특수문자, 제어문자).
현재는 유니코드를 이용. 문자 1개를 저장하는데 2byte를 사용한다. 자바는 유니코드를 지원하기 때문에 char형은 2byte를 차지한다.

boolean

참, 거짓은 1, 0으로 표현하기 때문에 1bit만으로도 표현이 가능하지만, 자바에서 불러올 수 있는 최소한의 단위가 1byte(=8bit)이기 때문에 boolean은 1bit를 사용하고, 나머지 7bit는 낭비된다.

변수명 생성 패턴(필수규칙)

  1. 헝가리언 표기법 : 식별자를 만들 때, 식별자의 접두어로 해당 자료형을 표시(요즘은 잘 사용하지 않는다.)
    ex) int형인 경우, inumber, i_number, int_number 등
  2. 파스칼 표기법 : 식별자의 첫문자를 항상 대문자+나머지는 소문자. 식별자가 2개 이상의 단어로 만들어지면 각 단어의 첫 문자도 항상 대문자로 표기. 주로 클래스명을 적을 때 사용.
    ex) SerialNumber
  3. 카멜 표기법 : 식별자의 첫문자를 항상 소문자+나머지 문자는 소문자 표기. 식별자가 2개 이상의 단어로 만들어지면 각 단어의 첫 문자도 항상 대문자로 표기. 변수명, 메서드명을 적을 때 사용.
    ex) serialNumber
  4. 스네이크 표기법 : 모든 문자를 소문자로 표기. 두 단어 이상의 경우는 '_'로 연결.
    ex) student_weight
  5. 케밥 표기법 : 모든 문자를 소문자로 표기. 두 단어 이상의 경우는 '-'로 연결. 자바에서는 사용할 수 없음.
    ex) student-weight

상수도 자료형이 존재한다?

byte num1=10;
short num2=10;
int num3=10;
long num4=10;

이 때, 10의 자료형을 물어보면 byte라고 해야 하나? short라고 해야 하나?

System.out.println(10);

이 때는?
결과적으로 int라고 해야 한다. 소스 상의 모든 정수형 상수는 자료형이 int이기 때문.(메모리상에 4byte 차지)
오른쪽에 상수가 오면 자바는 4byte를 확보해서 상수를 저장하고, 변수명으로 따로 공간을 만들어서 거기에 상수값을 복사해 넣는다. 이때, 저장된 상수값은 접근할 수 있는 변수명이 없이 주소값만 갖기 때문에 접근할 수 없다.

long num5=20000000000; // 2백억

위 연산을 처리하려고 할 때, 자바는 상수를 메모리에 저장하기 위해 4byte의 공간을 만들어야 하는데, 2백억이 그 공간에 들어갈 수 없는 숫자이기 때문에 에러가 난다.
이 경우, 자바에게 상수를 메모리에 저장하기 위해 8byte의 공간을 만들도록 아래와 같이 코드를 작성하면 된다.

long num5=20000000000L; // L은 알아보기 쉽게 대문자로 쓸 것

이와 같은 상황은 실수의 경우에도 적용된다. 모든 실수형 상수는 double로 취급한다.(메모리상에 8byte 차지)

단정도와 배정도를 직접 눈으로 확인해보자

단정도형
float f1=1.2345678901234567890123456789F;
// 출력값 : 1.2345679 -> 소수점 아래 7번째까지 유효

배정도형
double d1=1.2345678901234567890123456789D;
// 출력값 : 1.2345678901234567 -> 소수점 아래 16번째까지 유효

0개의 댓글