본문 바로가기
개념

[JAVA의 정석] Chapter01 -03

by cook_code 2024. 9. 6.
반응형

 

교재 목차

Chapter01. 자바를 시작하기전에

Chapter02. 변수(Variable)

Chapter03. 연산자(Operator)

Chapter01. 자바를 시작하기 전에


 

1. 자바란?

1-1. 자바에 대하여...

  • 1996년 썬 마이크로 시스템즈 사에서 개발한 객체지향 프로그래밍 언어
  • 2010년 해당 기업이 오라클 사에 인수되면서 자바는 오라클 제품이 되었다.

1-2. 자바의 특징

  • 운영체제에 독립적이다. → JVM
  • 객체지향언어이다. → 상속, 캡슐화, 다형성
  • 비교적 배우기 쉽다. → C++에서 연산자 및 기본구문, Small Talk 에서 객체지향관련 구문을 따와 불필요한 부분을 제거하고 장점만 취해 만든 언어!
  • 자동 메모리 관리 → Garbage Collector
  • 네트워크와 분산처리를 지원한다. → Java API, 대규모 분산환경에 적합
  • 멀티스레드를 지원한다. → Java API, 시스템프리, 스케쥴링
  • 동적로딩을 지원한다. → 필요한 시점에만 코드 재로딩
  • 느린 처리 속도 → JIT Compiler, Hostpot등의 신기술 도입으로 JVM 속도가 향상되어 속도문제가 상당히 개선됨

1-3. JVM

  • JVM은 OS에 종속적이므로 해당 OS에서 실행가능한 JVM이 필요하다.
 

 

2. 자바 실행 환경

2-1. JAVA API

  • 해당 JDK 버전 + API로 검색 시 해당 버전 클래스의 자세한 설명을 볼 수 있다.
 
 

Overview (Java SE 11 & JDK 11 )

This document is divided into two sections: Java SE The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java. JDK The Java Development Kit (JDK) AP

docs.oracle.com

 

2-2. 자바 실행 순서

  1. 프로그램 실행에 필요한 클래스 파일 로드
  2. 클래스 파일 검사
  3. 지정된 클래스에서 main함수 호출

 

2-3. public/static/void/main/String[] args 일명, PSVM!

💕 public
JAVA는 어플리케이션이 실행되면 제일 먼저 메인(main)함수를 실행시키고 메인함수는 모든 실행프로그램에 기본이 되는 함수이기 때문에 어디에서나 접근이 가능해야한다.
그렇기 때문에 접근제한자를 public을 써주어서 모든 클래스에서 접근이 가능하도록 한다.

💕
static

자바는 변수나 함수를 메모리에 할당하는 방법이 2가지 있다.
하나는 static영역에 선언하는 것이고, 다른 하나는 heap영역에 선언(new 연산자 사용)하는 것이다.
main 메소드는 프로그램에 없어서는 안되는 기본이 되는 함수이기 때문에 static을 사용하여 메모리에 항상 살아있을 수 있게 선언해주어야 한다.

💕  void

void는 함수가 끝날 때 리턴값이 없이 끝내라는 의미이다.

💕  main
자바의 시작은 main 함수명으로 시작해야 한다. 이것은 자바의 규칙이다

💕 String[] args
"main 메소드를 실행하는 데 필요한 값들을 args이라는 문자열을 배열을 통해서 main 메소드에 전달하겠다"
라는 의미이다. args는 변수명이기 때문에 꼭 args가 아니여도 상관은 없다. "String[] 변수명" 구문은 필수.

출처: https://velog.io/@tae_in/posts

 

Chapter02. 변수(Variable)


 

1. 변수의 선언과 초기화 

1-1. 변수란?

값을 저장하는 공간

구분
선언방법
초기화
형식
변수타입 변수명;
변수타입 변수명 = 담을 값;
예시
int age;
int age = 25;

1-2. 변수의 명명규칙

1. 대소문자가 구분되며 길이에 제한이 없다.
2. (예약어=키워드=리져브드워드)를 사용해서는 안 된다.
3. 숫자로 시작해서는 안 된다.
3. 특수문자는 '-', '$'만을 허용한다.

 

1-3. 변수의 선언과 초기화

int a; // 선언 a = 1 // 초기화

 

2. 변수의 타입 

2-1. 변수란?

데이터를 저장하기 위한 메모리 공간

2-2. 변수의 타입

  • 기본형(primitive type) : 계산을 위해 실제 값을 저장한다.
  • 참조형(reference type) : 객체의 주소를 저장한다. null 또는 객체의 주소
 

☕ JAVA 변수의 기본형 & 참조형 타입 차이 이해하기

변수의 기본형 & 참조형 타입 변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미한다. 그리고 자바에서 말하는 데이터 타입(자료형)이란, 변수에

inpa.tistory.com

 

기본형(primitive type)

 

  • 기본형 바이트 수 및 값의 범위
 
1byte
2byte
4byte
8byte
논리형
boolean
 
 
 
문자형
 
char
 
 
정수형
byte
short
int
long
실수형
 
 
float
double
자료형
저장 가능한 값의 범위
bit
byte
boolean
false, true
8
1
char
'\u0000' ~ '\uffff' (0 ~ 65535)
16
2
byte
-128 ~ 127
8
1
short
-32768 ~ 32767
16
2
int
-2147483648 ~ 2147483647
32
4
long
-9223372036854775808 ~ 9223372036854775807
64
8
float
1.4E-45 ~ 3.4E38
32
4
double
4.9E-324 ~ 1.8E308
64
8
  • 기본형 특징
​1. 모두 소문자로 시작된다.
2. 비객체 타입이므로 null 값을 가질 수 없다. (기본값이 정해져 있음)
3. 변수의 선언과 동시에 메모리 생성
4. 모든 값 타입은 메모리의 스택(stack)애 저장됨
5. 저장공간에 실제 자료 값을 가진다.

 

참조형(reference type)

타입
기본값
할당되는 메모리 크기
배열(Array)
Null
4 byte
(객체의 주소값을 저장하니까)
열거(Enumeration)
Null
클래스(Class)
Null
인터페이스(Interface)
Null
  • 종류
    • 배열 타입
    • 열거 타입
    • 클래스
    • 인터페이스
  • 특징
    • 기본형과는 달리 실제 값이 저장되지 않고, 자료가 저장된 공간의 주소를 저장한다.
    • 즉, 실제 값은 다른 곳에 있으며 값이 있는 주소를 가지고 있어서 나중에 그 주소를 참조해서 값을 가져온다.
    • 메모리의 힙(heap)에 실제 값을 저장하고, 그 참조값(주소값)을 갖는 변수는 스택에 저장
    • 참조형 변수는 null로 초기화 시킬 수 있다.

 

3. 형변환

 

boolean을 제외한 나머지 7개의 기본형은 서로 형변환이 가능하다.

기본형과 참조형은 서로 형변환할 수 없다.

서로 다른 타입의 변수간의 연산은 형변환을 하는 것이 원칙이지만,

값의 범위가 작은 타입에서 큰 타입으로의 형변환은 생략할 수 있다.

 

Chapter03. 연산자(Operator)


기본 연산자 종류와 우선순위

종류
연산자
우선순위
증감 연산자
++, --
1순위
산술 연산자
+, -, *, /, %
2순위
시프트 연산자
>>, <<, >>>
3순위
비교 연산자
>, <. >=, <=, ==, !=
4순위
비트 연산자
&, |, ^, ~
~만 1순위, 나머지는 5순위
논리 연산자
&&, ||, !
!만 1순위, 나머지는 6순위
조건(삼항) 연산자
?, :
7순위
대입 연산자
=, *=, /=, %=, +=, -=
8순위

 

반응형