티스토리 뷰

반응형

강사 : 김호진 강사님

 

JAVA 설치

JDK 설치 유형

  • Java EE(Enterprise Edition) : 기업의 개발 환경(통합)
  • Java SE(Standard Edition) : 개인용 개발 환경
  • Java ME(Micro Edition) : 소형 디바이스 전용 환경(축소)

운영체제마다 다른 JDK 지원

javac와 java

  • javac.exe : Java 컴파일러
  • java.exe : Java 런처(실행시킬 수 있도록 만들어주는 요소)

환경변수 설정

환경변수에서의 ;(세미콜론)은 종결자가 아닌 구분자로 사용

cmd에서 java 프로그램 실행하기

1. java 코드 저장(.java)

2. cmd 창에서 해당 파일 경로로 이동

3. javac <파일이름>.java

-> 클래스 파일인 <파일이름>.class 파일 생성 (JVM이 읽을 수 있는 방식으로 변환된 파일)

4. java <파일이름>

-> 런처로 실행하는 경우 .class는 붙이지 않음

JAVA의 구조

JVM(Java Virtual Machine, 자바 가상 머신) : 서로 다른 OS에서도 프로그램이 정상적으로 동작할 수 있도록 해줌

JDK(Java Development Kit) : 자바 소프트웨어 개발 환경. 자바 가상머신(JVM)과 컴파일러, 디버거, 자바 애플릿 및 응용프로그램 개발을 위한 도구들이 포함됨


자바 프로그램의 실행 구조

Hardware > Operating System > Java Virtual Machine > Java Program

JAVA의 해석 방식

  • 인터프리터 방식 : 한 줄씩 읽고 해석
  • 컴파일 방식 : 통째로 집어넣고 해석(그 안에서 인터프리터 방식으로 해석)

JAVA는 컴파일 방식을 사용

자바 가상머신으로 인한 속도 저하

  1. 대부분의 소프트웨어는 속도보다 안전성이 우선시 된다.
  2. 물론 속도는 중요하다. 하지만 여기서 말하는 속도는 소프트웨어의 개발 속도이다.
  3. 개발중인 소프트웨어의 90% 이상은 인터넷, 네트워크 기반 소프트웨어이다.
  4. 인터넷, 네트워크상에서는 소프트웨어의 속도보다 데이터의 전송속도가 더 중요하다.
  5. 속도가 문제가 되면 대부분의 개발자들은 데이터베이스를 먼저 의심한다. 그리고 그곳에서 대부분 문제를 발견하고 해결한다.

인터넷 속도는 프로그램 속도보다 느릴 수 밖에 없음

속도 저하가 인터넷 문제가 아닐 경우 99.9%는 데이터베이스 문제

=> 자바의 속도를 문제삼지 말자!

프로그램의 골격과 구성

  • 프로그램을 실행시키면 main 메소드 안에 있는 문장이 순차적으로 실행된다.
  • 클래스 이름이 MyClass이면, 컴파일 시 생성되는 파일의 이름은 MyClass.class이다.
  • System.out.println의 괄호 안에 출력하고픈 것을 큰 따옴표로 감싸서 넣으면 출력이 된다.
  • System.out.println은 출력을 한 다음에 행(Line)을 바꾼다.
  • System.out.println과 같이 컴퓨터에게 무엇인가 일을 시키는 문장을 가리켜 '명령문(statement)'이라 한다. 그리고 이러한 명령문의 끝에는 반드시 세미콜론(;)을 붙여서 명령문의 끝을 표시해야 한다.
  • 클래스는 '정의'
  • 클래스를 사용할 때는 '호출'
  • 변수 '선언'
  • 변수에 값을 대입할 때는 '초기화'
  • 자바에서는 '함수'라고 부르지 않고 '메소드'라고 부름 ex) println()

-> 함수 중심의 언어에서는 함수 혼자 독립적으로 사용 가능하지만 자바라는 객체지향언어에서는 함수를 독립적으로 사용할 수 없고 클래스 안에서 사용해야 함.

변수

자료형

  • 정수를 표현하기 위한 자료형 : byte(1byte) - short(2byte) - int(4byte) - long(8byte)
  • 실수를 표현하기 위한 자료형 : float(4byte) - double(8byte)
  • 참과 거짓을 표현하기 위한 자료형 : boolean(1byte) : true / false

※엄밀히 따지면 0 / 1이랑은 다른 값임

  • 문자를 표현하기 위한 자료형 : char(2byte)

자바는 메모리 주소로의 직접적인 접근을 허용하지 않음!!(오로지 이름으로만 식별)

int num3 = num1 + num2;의 연산 순서

  1. num1 + num2
  2. int num3 선언
  3. num3에 num1 + num2 연산 결과 대입

변수 이름의 제약사항

  • 숫자로 시작 불가
  • $와 _ 이외의 다른 특수문자는 사용 불가
  • 자바의 키워드는 변수의 이름으로 사용 불가

변수의 사용

  • CPU는 기본적으로 32비트(4바이트) 기반으로 연산하기 때문에 int형을 쓰는 것이 가장 처리 속도가 빠름
  • byte나 short는 연산 속도에 크게 구애받지 않는 경우에 사용(연산보다 데이터의 양이 중요시 되는 상황도 존재)
  • 하지만 실수는 float(4byte)보다는 double(8byte) 사용을 추천 -> 실수는 정밀하게 표현하는 것이 중요하기 때문

자동 형 변환 규칙

  • byte -> short / char -> int -> long -> float -> double
  • long은 8byte이고 float은 4byte이지만 표현 범위는 float이 더 큼
  • char는 문자를 표현하는 데이터 타입이기는 하지만 내부적으로는 ASCII 코드 값을 저장하기 때문에 int로 자동 형 변환이 가능

명시적 형 변환을 하는 이유

  • 자동 형 변환 발생지점의 표시를 위해서 -> 주석문과 같은 역할(오류가 아님)
  • 자동 형 변환의 규칙에 위배되지만 변환이 필요한 상황 -> 큰 자료형을 작은 자료형으로 변환하는 경우

ex) long num1 = 2147483648L;

int num2 = (int)num1;

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함