본문 바로가기
프로그래밍 언어/Java 프로그래밍

Java 프로그래밍 1일차 - 환경설정, 변수

by Hyeon_ 2021. 11. 1.

실습환경

  • windows 10
  • java sdk: java SE 11
  • IDE: Eclipse

SDK(JDK)

  • Development Kit

JAVA

  • sun micro systems
  • 제임스 고슬링에 의해서 만들어짐

개발에 필요한 도구

  • JDK
  • Text Editor
    • 워드나 한글 프로그램은 개발에 사용 불가
    • 메모장 같은 프로그램 필요

Compile(번역)

  • *.java(소스파일)-> *.class(자바 바이트 코드 )-> 기계어(0,1/binary)
  • 컴파일 하는 방법
    • cmd창(명령 프롬프트)
    • window key + r -> cmd

CLI(Command Line Interface)

GUI(Graphic User Interface)

 

IDE(Intergrated Dvelopment Environment)

  • 통합개발환경
  • 개발에 필요한 도구(JDK + Editor + 개발에 필요한 유틸)
  • Java -> Eclipse 주로 사용

환경변수 설정

  • JAVA_HOME = C:\Program Files\Java\jdk-17.0.1

JAVA?

  • Java를 배운다는 것은?
    • 자바의 특징
  • Java의 가장 큰 장점
    • 1세대: (절차적 언어)C, portran, pascal, ada, ...
      • 함수를 통한 코드 재사용성의 증가
      • 소스코드의 관리와 유지보수
    • 2세대: 객체지향 언어(C++, GO, Java, ...)
      • 자바는 가장 객체지향 다운 언어
      • 클래스를 통한 코드의 재사용성 증가
    • 3세대: 함수형 언어
      • 자바는 함수형 문법을 지원(Java8)

JAVA가 실무에서 많이 사용되나요?

  • 모든 분야에서 최적의 성능을 내는 언어는 없음
    • 시스템 개발, 웹 개발, 게임 개발, 인공지능 등등
    • 시스템 개발: C, C++(대체불가)
    • 웹 개발: 프론트(html, css, javascrpt), 백엔드(자바, 파이썬, 루비, php, ...)
    • 게임 개발: C++
    • 인공지능: Lisp, python, R, java, ...

코드 작성 시 주의사항

  1. mian이 들어있는 클래스의 이름은 파일 이름과 동일해야 함
  2. 명령의 끝에는 세미콜론(;)을 붙여줘야 함
  3. 코드 작성 시, 공백과 대/소문자에 주의해야 함

변수(Variable)

메모리(memory)

  • 자료를 저장할 수 있는 공간
    • 명령어를 실행한 결과, 파일에서 읽어들인 내용 등을 메모리 어딘가에 저장해두고, 꺼내서 사용 가능
    • 자료를 처리하고싶은 경우, 메모리 어딘가에 있어야 함
    • 위와 같은 개념을 프로그래밍 언어에서는 변수라고 함
    • 자료가 메모리 어디에 있는지, 어떻게 저장이 되는지는 JVM이 결정

바이트(byte)

  • 정보를 표현하는 최소 단위: 비트(bit)
    • 1bit는 0 또는 1을 표현

주소(address)

  • 메모리 상에서 값(자료)이 저장된 위치
  • 자료는 비트의 형태로 저장이 되고, 1byte(8bit)마다 번호가 부여됨
    • 메모리의 첫 번째 byte의 주소는 0이고
    • 그 이후부터 1씩 증가하면서 번호가 차례대로 부여
  • 메모리의 크기가 아주 크기 때문에, 주소도 굉장히 크게 나온다.
  • 값이 저장된 위치(주소)를 알고 있어야 함
    • 주소를 알고 있어야 해당 위치에서 값을 다시 꺼내올 수 있음
    • 주소는 숫자로 구성, 메모리의 크기가 매우 크기 때문에, 값이 저장된 위치를 숫자 형태로 전부 기억할 수 없음
    • 자바는 메모리의 주소를 이용한 접근을 지원하지 않음
  • 결국 변수란, 값이 저장된 위치를 숫자 대신에 사용할 수 있는 이름을 의미

변수의 3대 요소

  1. 주소
  2. 값(자료)
  3. 크기

변수의 이름

  • 변수의 이름은 숫자로 시작할 수 없다
  • 특수문자 사용 불가(_, $)
  • 자바에서 미리 정의된 이름(예약어) 사용불가

변수의 타입

  • 변수의 타입이 갖는 가장 큰 의미는 크기
  • 메모리에 저장하려는 값의 형태에 따라서 크기가 정해짐

숫자(정수, 실수)

  • 정수
    • byte(1), short(2), int(4), long(8)
  • 실수
    • float(4), double(8)
  • 논리형(참, 거짓)
    • true, false
    • boolean(1)

문자

  • char(2), String(문자들의 집합/문자열)
  • 문자: ' ', 문자열: " " 로 작성

컴퓨터가 문자를 처리하는 방법

  • 컴퓨터는 기본적으로 숫자만 처리(이진수)
    • 문자 인식 불가능
  • 문자를 처리하려면?
    • 문자에 대응되는 숫자를 만들자 ⇒ 아스키 인코딩
    • 문자에 대응되는 유일한 숫자
      • 아스키 코드는 0부터 127까지 128개의 문자에 대한 숫자 테이블(표준)
      • 48 65 97 (0, A, a)
    • 왜 1바이트가 8비트가 되었는가?
      • 8개의 비트면 모든 문자 표현 가능
      • 8비트는 2^8개 만큼 표현(256/0~255)
    • MSB(Most Signature Bit/최상위 부호비트) ⇒ 음수: 1, 양수:0
      • 그래서 MSB를 제외한 7개의 비트로 표현
    • 한글처리
      • UTF-8, CP949, EUC-KR