5주차 - 1) Java

변현섭·2023년 6월 10일
1

4th UMC Server-Spring Study

목록 보기
15/30

Ⅰ. 핵심 키워드

1. Java-Spring

1) JDK, JRE설치

Java를 다운받을 때에는 JDK와 JRE 중 하나를 선택하여 설치하여야 한다. 결론부터 말하자면 개발이 목적이라면 JDK를 설치하고, 개발이 목적이 아니라면 JRE를 설치하면 된다.

JDK와 JRE의 차이를 이해하려면 자바가 실행되는 과정을 알아야 한다. 텍스트 에디터에 자바 소스코드를 작성하는 경우를 생각해보자.

Main.java로 파일명과 확장자를 설정한다.

Javac(자바 컴파일러)가 작성한 소스코드(Main.java)를 컴파일해서 자바 바이트 코드라는 실행파일을 만들게 된다. 사실 이 과정을 상세하게 알 필요는 없으나 JDK와 JRE를 이해하는 데 도움이 된다.

위의 이미지에서 포함관계를 알 수 있듯, 자바 소스코드를 컴파일 하는 Javac는 JDK에 포함되어 있다. 반면 자바 바이트코드를 실행하는 JVM은 JRE에 들어있다. 또한 JDK에는 JRE가 포함되어 있고 JRE에는 JVM이 포함되어 있는 구조이다. 따라서 JDK를 설치하면 JRE와 JVM도 함께 설치되고 JRE를 설치하면 JVM만 함께 설치된다. 이를 정리하면 아래와 같다.

  • 자바 소스 코드를 작성, 컴파일, 실행할 목적이라면 JDK를 설치한다.
  • 자바로 만들어진 프로그램을 실행만 할 목적이라면 JRE를 설치한다.

참고로 oracleJDK는 회사에서 사용하는 유료버전이다. 이는 Oracle이라는 회사에서 배포하는 oracleJDK는 상업적 용도로 사용할 때는 유료로 사용해야 하기 때문이다. 우리가 사용하게 될 JDK는 openJDK로 무료이다.

2. 자바 개발환경 구성

자바 개발환경을 구성하기 위해선JDK(Java Development Kit)와 IDE라는 통합 개발환경 (Integrated Development Environment)을 설치해야 한다. 주로 사용되는 에디터에는 IntelliJ, VSCode, eclipse가 있다. 이 중에서도 현재 가장 많이 사용되고 있고, 편리한 기능들이 많은 IntelliJ 사용을 권장한다. 따라서 IntelliJ를 이용한 개발환경을 구축하자.

먼저 JDK를 설치한다. https://velog.io/@dvshinny/www.oracle.com/kr/java/technologies/javase-downloads.html에 접속하여 본인의 운영체제에 맞는 가장 최신 버전의 JDK를 설치하면 된다.

이제 JDK가 구동될 IDE인 IntelliJ를 설치해야 한다. 유로 서비스이지만, 대학생인증을 통해 IntelliJ를 무료 설치할 수 있다. IntelliJ가 설치되면 JDK를 추가해주어야 한다. New Project를 선택한 뒤 Add JDK를 통해 JDK가 설치된 경로를 추가할 수 있다.

3. Java 변수 선언

1) 자료형

자바의 자료형은 크게 기본형과 참조형을 나눈다. 그리고 기본형은 다시 정수형, 실수형, 문자형, 논리형 네 가지로 분류된다.

① 기본 자료형

  • C++과는 달리 자바의 정수형에는 unsigned 형이 없고 부호가 있는 정수형만 있다(자바는 자료구조에서 단순함을 추구하기 때문이다). C++의 long long int가 자바의 long형에 해당한다. 숫자 상수 끝에 L 또는 l이 붙으면 long형으로 저장된다.
  • 실수형은 실수를 저장하는 자료형으로서 float과 double이 있다. 숫자 상수 끝에 f/F가 붙으면 float형이다(C++과 동일하다).
  • 문자형의 경우 정수로 바꿔 저장한다. 어떤 문자에 어떤 번호를 할당할지에 대해서는 여러가지 방법이 있는데 보통 유니코드라는 세계 표준 규격을 따른다. 유니코드는 모든 문자를 2바이트 (0~65535) 정수에 할당한다. 자바의 char형은 유니코드 한 문자를 표현할 수 있는 자료형으로서 2 byte 크기이다. 참고로 C++에서는 char형이 1byte이다.
  • 논리형은 true와 false 단 두 개의 값만 가지는 자료형이다. 조건 검사에서 사용되는 논리식의 결과 값을 저장한다.

② 참조 자료형

  • 참조 자료형은 메모리상에서 데이터가 저장된 주소, 즉 참조값을 저장하는 자료형이다. 기본자료형은 보통 미리 정의되어 있는 반면, 참조 자료형은 미리 정의되어 있지 않으며 필요에 따라 클래스로 정의된다.
  • 참조 자료형과 기본 자료형을 비교하면 다음과 같다.

2) 형변환

① 문자 → 숫자

  • String to Int: Interger클래스의 parseInt함수와 valueOf함수를 사용하여 변환
  • String to Double: Long, Double, Float 클래스의 parseLong함수와 valueOf함수를 사용하여 변환
  • String to Long: Long, Short클래스의 parseLong 함수와 parseShort 함수를 사용하여 변환

② 숫자 → 문자

  • Int to String: String클래스의 valueOf, toString함수를 사용하여 변환
  • Double, Float to String: String클래스의 valueOf, toString 함수를 사용하여 변환

③ 정수 ↔ 실수

  • Double, Float to Int: (int)캐스팅 방식을 사용. 이 때, 실수형의 소수점 이하는 모두 버림.
  • Int to Double, Float: (double) 또는 (float)캐스팅 방식을 사용

3) 연산자

① 산술 연산자

  • c++에서와 동일하다.

② 비교 연산자

  • 특이한 것은 동등연산자(==)와 일치연산자(===)를 구분한다는 것이다.
  • 동등연산자나 일치연산자 모두 피연산자의 값이 같으면 true를 반환하지만, 동등연산자의 피연산자는 비교를 위한 강제 형변환이 적용되고, 일치연산자의 피연산자에는 형변환이 적용되지 않는다.

③ 논리 연산자

④ 비트 연산자

  • 비트 연산자는 비트 단위의 논리 연산에 사용되거나 비트를 왼쪽, 오른쪽으로 이동시키는 데에 사용한다.

⑤ 조건 연산자

  • 보통 3항 연산자라 부른다. 물음표 앞의 조건식의 결과가 참이면 반환값1을 반환하고, 거짓이면 반환값2를 반환한다.
profile
Java Spring, Android Kotlin, Node.js, ML/DL 개발을 공부하는 인하대학교 정보통신공학과 학생입니다.

0개의 댓글