변수(Variable)

  • 변수란? 저장공간이다!
    변할 수 있는 데이터를 임시적으로 저장하고 이를 사용하기 위한 수단으로,
    값을 저장할 수 있는 메모리 공간에 사람이 식별할 수 있게 이름을 붙여 데이터를 저장하는 공간이다.

  • 변수 선언이란? 변수를 사용하기 전 변수를 사용하겠다고 컴퓨터에게 알리는 것!
    변수를 사용하려면 먼저 변수를 선언해야 한다.

    변수를 선언하면 메모리의 빈 공간에 ‘변수의 데이터 타입’에 알맞은 크기의 저장 공간이 확보되며, 앞으로 이 저장공간은 ‘변수이름’을 통해서 사용하게 된다.

    따라서, 변수를 선언할 때는 ‘저장하고자 하는 데이터의 타입’과 ‘변수이름’을 함께 작성해주어야 한다. (변수 타입과 값이 맞지 않으면 제대로 저장될 수 없다.)

    (EX) int   a // 저장하고자 하는 데이터 타입 = int 정수형  / 변수이름 = a

  • 변수 초기화란? 값을 처음으로 할당하는 것
    변수는 선언한 후 값을 할당해주어야 사용할 수 있는데, 가장 처음 변수에 값을 할당하는 것을 초기화라고 한다. 

  • 변수 명명 규칙
    1. 대소문자가 구분되며 길이에 제한이 없다.

    2. 예약어(keyword, reserved word)는 사용할 수 없다.
    (EX) class, if, new 등.. 자바에서 이미 기능을 하고 있는 단어들

    3. 숫자로 시작할 수 없다.

    4. ‘_’와 ‘$’를 제외한 특수문자는 사용할 수 없다.

    5. 띄어쓰기가 들어갈 수 없다.

 

'IT > JAVA' 카테고리의 다른 글

[Java] 입출력 스트림  (0) 2023.06.08
[Java] Reference Type(참조형식)=참조 변수  (0) 2023.06.08
[Java] 자바의 기본형(Primitive Type) 8가지  (0) 2023.06.08
[Java] JDK와 JRE의 구성요소  (0) 2023.06.08
[Java] 변수란? (Variable)  (0) 2023.06.01

키코드(KeyCode)

  • 키코드란? 키보드 키마다 가지고 있는 고유한 값!
    키보드의 키 별로 각각 숫자로 된 값을 하나씩 가지고 있는데 이를 키코드라고 한다.
    (즉, 이것이 무슨 키인지 식별하는 번호이자 키를 대신하는 번호라고 생각할 수 있다.)

    우리가 키보드에서 키를 하나 입력하면 프로그램에서는 그 키의 키코드를 읽어 프로그램을 처리한다.
    (키마다 값을 가지고 있다는 것은 기록하고 표현하기 편하게 만들어 준다.)

문자코드, ASCII 코드, 유니코드

  • 문자코드 : 영어의 알파벳이나 한글 등과 같은 문자를 컴퓨터에서도 사용하기 위해 컴퓨터가 이해할 수 있는 형태인 이진 부호로 표시한 것.

  • ASCII 코드 : 알파벳, 숫자, 특수 문자 등에 대해 7비트의 문자 코드로 지정 하였다.

  • 유니코드 : 각 나라별 언어를 모두 표현하기 위해 나온 코드 체계.

 

자바의 기본형(Primitive type) 8가지

계산을 위해 실제 값을 저장 (타입선언 시 모두 다 소문자로 시작한다!)

 

1. 진리값

타입 메모리 크기(byte) 기본값 데이터 표현 범위
boolean 1
(하지만, 정식으로 크기를 알려주고 있지 않음)
false true, false

 

2. 정수값

타입 메모리 크기(byte) 기본값 데이터 표현 범위
byte 1 0 -128~127
short 2 0 -32,768~32,787
int
(default)
4 0 -2,147,483,648
~2,147,483,647(대충 20억)
long 8 0L -9,223,327,036,854,775,808
~9,223,372,036,854,775,807

※ 2, 8, 10, 16진법의 개념이 들어있음 (EX) 0b11010, 032, 26, 0x1a, 26L, 0x1aL

 

3. 실수값

타입 메모리 크기(byte) 기본값 데이터 표현 범위
float 4 0.0F (3.4X1038)~(3.4X1038)의 근사값
double
(default)
8 0.0 (1.7X10308)~(1.7X10308)의
근사값

※ 지수형으로 표현할 수 있다.

(EX) 123.4, 123.4f, 123.4d, 1.234e2, 1.234e2f, 1.234e2d

 

4. 문자값

타입 메모리 크기(byte) 기본값 데이터 표현 범위
char 2 ‘\u0000’ 0~65,535

※ 기재하려는 값 앞 뒤에 싱글쿼터(‘’)와 함께 표기, 형 변환시 자주 사용(문자->숫자)

※‘\u0000’ = ‘NULL’

 

'IT > JAVA' 카테고리의 다른 글

[Java] Reference Type(참조형식)=참조 변수  (0) 2023.06.08
[Java] 변수(Variable)  (0) 2023.06.08
[Java] JDK와 JRE의 구성요소  (0) 2023.06.08
[Java] 변수란? (Variable)  (0) 2023.06.01
[Java] 상수와 리터럴 (Constant & literal)  (0) 2023.06.01

JDK와 JRE의 구성요소

 

  • JDK(Java Development Kit) 자바 개발 키트 (개발자용)

    - 구성요소: JRE + 개발자 도구
    - 개발자들이 자바로 개발하는 데 필요한 라이브러리들과 컴파일러(javac), jdb(디버깅), JRE, JVM등의 개발 도구들이 포함된 개발 키트
    - 자바로 만들어진 프로그램을 실행시키는데 필요한 라이브러리들과 각종 API, 그리고 자바 가상 머신(JVM)이 포함되어 있다.
    - 개발이 필요 없다면 실행할 수 있는 환경만 필요하다면, JRE를 다운로드 받으면 된다.



  • JRE(Java Runtime Environment) 자바 실행 환경 (일반유저 가능)

    - 구성요소: JVM + 라이브러리 클래스
    - JRE는 JDK에 포함되어 있다.



  • JDK와 JRE의 차이


- Java로 프로그램을 직접 개발하기 위해서는 JDK가 필요
- Java로 만들어진 프로그램을 실행시키려면 JRE가 필요

 

'IT > JAVA' 카테고리의 다른 글

[Java] 변수(Variable)  (0) 2023.06.08
[Java] 자바의 기본형(Primitive Type) 8가지  (0) 2023.06.08
[Java] 변수란? (Variable)  (0) 2023.06.01
[Java] 상수와 리터럴 (Constant & literal)  (0) 2023.06.01
[Java] 자바란?  (0) 2023.06.01

컴파일러와 인터프리터

  • 컴파일러(Compiler) : 번역기
    - 고급언어를 바로 기계어로 변환
    - 실행속도가 빠름
    - 전체 소스코드를 보고 명령어를 수집, 재구성

 

  • 인터프리터(Interpreter) : 통역기
    - 고급언어를 기계어로 변환하는 과정 없이 한줄씩 해석하여 바로 명령어를 실행하는 것(번역 보다는 실행에 목적)
    - 번역 속도는 빠르지만 프로그램 실행 시 매번 번역해야하므로 실행속도는 느림
    - CPU의 사용시간 낭비가 큼
    - 소스코드의 각 행을 연속적으로 분석하며 실행





자바의 번역과정(총 6단계)

 

   

 

1) 형태소 분석(기호를 모두 분해)

2) 구문 분석 (순서가 올바른지 분석)

3) 의미 분석 (어떤 연산인지 파악)

4) 중간코드 생성(=바이트 코드, 슈도 코드)

5) 최적화 (CPU에 종속)

6) 물리코드 생성 (기계어로 번역)

 

API(Application Programming Interface)

  • 서비스 중에 있는 프로그램의 환경을 사용자의 환경에 이식받아 서로 소통이 가능하게 하는 도구의 집합체.
  • (상대방의 환경을 나의 환경에 다운로드 받아서 활용할 수 있음)
  • 자신들의 기능을 도구화 시켜놓음
  • 서버와 클라이언트를 이어 사용자가 사용할 수 있게 해주는 도구.
  • 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로
    통신할 수 있게 하는 메커니즘

입출력 장치(I/O 장치)

  • 간단하게는 마우스, 키보드, 모니터, 마이크 등등이 있다.
  • 사용자가 컴퓨터에 입력을 할 수 있게 해주고(키보드, 마우스), 컴퓨터는 사용자가 원하는 답변을 출력해주는 도구
    (모니터, 스피커, 프린터)

프로그래밍에서의 함수란?

  • 프로그램 소스 코드에서 일정한 동작을 수행하는 코드(들)
    - 매개변수가 있어 그에 맞는 값을 할당해주어야 작동함.
  • 기능 덩어리
  • 공구통 안의 공구들. 없어도 할 수 있지만 있으면 매우 간편하고 편리하게 해주는 도구.
  • 함수를 이용해서 식을 간결하게 만들고(중복되는 부분을 함수로 정의하고) 인자값을 받아서 활용할 수 있다.
  • 이를 통해 아래의 효과를 얻을 수 있다.
    - 코드 파편화(커다란 코드를 나눠서 사용하기 위해 잘라낼 수 있음)
    - 코드 집중화(반복되는 코드를 지워 중요한 코드를 부각시킬 수 있음)
    - 코드 은닉화(어렵게 정의한 내용을 볼 필요 없게 감추고, 내부적으로 바꿔도 결과만 잘 나올 수 있게 해줄 수 있다.)

WORA(Write Once Run Anywhere)

  • ‘한 번 작성된 코드는 모든 플랫폼에서 실행된다’는 의미
  • C언어 등 기존 언어가 가진 플랫폼 종속성을 극복
  • (C언어에서는 컴파일러를 기종별로 따로 구비해야하나,
    자바는 기종에 맞는 JRE를 셋팅해주면 됨)
  • 이식성이 좋다(호환성이 좋다)

WORA를 가능하게 하는 자바의 특징

  • 바이트코드 : 가상 컴퓨터가 이해할 수 있는 중간코드로 컴파일한 코드(환경에 맞춰서 중간코드로 컴파일해서 어디든 호환)
  • JVM(Java Virtual Machine, 자바 가상 기계)
    - 동일한 자바 실행환경을 제공해주기 위해 각기 다른 플랫폼에 설치하는 소프트웨어
    - JVM 자체는 플랫폼에 종속적이지만 자바는 독립적
    - 오라클과 IBM 등에서 개발, 공급됨
    - 자바 응용프로그램을 실행시키려면 JVM이 응용프로그램을
      구성하는 클래스 파일(.class)의 바이트 코드를 실행

 

 

 

+ Recent posts