포스트

8. 자바 기초(2)

자바의 기초 언어를 공부하자.

8. 자바 기초(2)
들어가기전… 짤지식

C ⇒(컴파일러)⇒ 어셈블리어 ⇒(어셈블러)⇒ 기계어
인스트럭션 셋 → 명령어 묶음 (기계어 명령 설명서)

  • 인스트럭션 = 기계어

Package(패키지)

역할에 따라 클래스분류하는 문법 : Package

  • bitcamp-mystudy/ ← git 저장소
    • java-lang/ ← project 폴더 (root)
      • app/ ← main project
        • src/
          • main/
            • java/ ← 소스 폴더
              • study/ ←요기부터 하위 모두 패키지
                • lang/ ←패키지
                  • test.java
            • kotiln/
          • test/

pakage에 속해있는 java 파일을 컴파일 시킬 때 빌드 위치를 패키지가 알아서 잡아준다. app/build/classes/main에 study/lang 패키지에 있는 java 파일을 컴파일 하려고 한다면…

1
javac -d app/build/classes/java/main/
  • main하위에 study/lang/~.class 로 자동 생성된다.
1
javac -d app/build/classes/java/main/study/lang
  • study/lang/study/lang/~.class로 생성된다

실행을 할때에 패키지는 /가 아닌 .으로 나타낸다.

1
java -cp app/build/classes/java/main study.lang.~class
들어가기전… 짤지식

polyglot : 다국어, 프로젝트에 적용 시 다양한 언어로 프로젝트를 구성하는 것

주석(comment)

1. traditional comment

1
/* ~ */
  • 여러줄의 코드를 주석 처리 하고 싶을 때 사용.
  • .class 파일엔 포함이 되지않는다.

2. end-of-line comment

1
//
  • 한줄의 코드를 주석 처리 할 때 사용.
  • .class 파일엔 포함이 되지않는다.

3. javadoc 주석

1
2
3
4
5
6
7
8
9
/** 클래스에 대한 설명 */
class A {

/** 필드에 대한 설명 */
int a

/** 메서드에 대한 설명 */
void x( ) { ~ }
}
  • javadoc으로 실행 할 경우 HTML API 문서가 자동 생성되는 주석이다.
    • API 문서 : App Programming 할 때 사용하는 클래스나 메서드(Interface : 도구)의 사용 설명서
    1
    
      javadoc -d (APIfile path) -sourcepath (javafile path) (javafile 이름)
    

    → 만약 생성된 .java와 API 문서의 인코딩 방식을 정해준다면 -d 앞에 -encoding UTF-8 -charset UTF-8 를 더해 붙여준다.

  • .class 파일에 포함되지않는다.

4. Annotation 주석

1
2
3
4
5
@Data
class A{ 
@Autowired int a 
@Override void ~
}
  • 컴파일러나 JVM에게 전달하는 특별한 정보로 이루어진 주석
    • 이 주석만 유일하게 .class 파일에 포함이 가능하다

Literal(리터럴) : 값을 표현한 것

primitive Data Type

→ 자바에서 데이터를 구분하는 기본 분류

  1. 정수
    • byte (1byte) : -128~127 / literal : -
    • short (2byte) : -32768~32767 / literal : -
    • int (4byte) : 약 -21억~21억 / literal : 100
    • long (8byte) : 약 -922경~922경 / literal : 100L, 100l
  2. 부동소수점
    • float (4byte) : 소수점 이하 약 7자리까지 / literal : 3.14f, 3.14F
    • double (8byte) : 소수점 이하 약 15자리까지 / literal : 3.14
  3. 문자 (2byte) : ‘가’, ‘A’, ‘8’, ‘@’
  4. 논리값 : true, false
    • JVM에서 boolean에 대한 명확한 byte 값은 없음. 하나 일때 int의 크기, 배열인 경우 개당 1byte를 가진다.
  5. 문자열 : “가”, “abc”, “123”
  6. null : 주소를 설정하지 않음

정수의 진수 표기

  • 10진수 : 100
  • 2진수 : 0b01100100
  • 8진수 : 0144
  • 16진수 : 0x064

부동소수점의 진수표기

부동(float-point)

  • 3.14 ← 고정소수점
  • 31.4e-1, 314e-2, 0.314e1, 0.0314e2 ← 부동소수점

문자 Literal

‘A’ = ‘\u 유니코드값’

  • 키보드 자판으로 입력할 수 없는 문자를 다룰 때 유용하다.
  • 문자에 대해 2byte의 숫자를 부여해서 메모리에 저장한다.
    • ob 0000 0000

문자의 메모리 저장

  1. 문자는 전기적 신호로 저장됨
  2. 비트 신호로 저장됨
  3. 비트 신호를 쉽게 표기하기 위해서 2진수를 사용함
  4. 2진수를 좀 더 쉽게 표기하기 위해서 16진수를 사용한다.
  5. 컴퓨터 간에 저장의 일관성을 위해서 문자를 저장하는 규칙을 정의한다.
    • 문자를 저장하는 규칙 : character set

문자 집합 ASCII

ASCII = American Standard Code for Information Interchange = 7bit

  • 128 = 33개의 출력 불가능 제어문자 + 공백(space) + 95개의 출력 가능한 문자(A~z)
자주 사용하는 아스키코드
  • A 1000001 (0x41), B 1000010 (0x42) ~
  • a 1100001 (0x61), b 1100010 (0x62) 까지
  • 0100000 (0x20) (space)
  • ? 0111111 (0x3F)
  • = 0111101 (0x3D)
  • % 0100101 (0x25)

📍escape character : 제어문자

  • CR(carriage return) 0001101(0x0D)
  • LF(line feed) 0001010 (0x0A) → 두 개를 합쳐 줄바꿈임
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.