티스토리 뷰

TIL/JAVA

특징 + 변수

YEIKKI 2022. 12. 19. 14:29

자바 특징

  • 운영체제 독립
  • 객체지향 언어- 상속, 캡슐화, 다형성
  • 자동메모리관리(Garbage Collection)
  • 네트워크와 분산처리를 지원함
  • 멀티쓰레드를 지원한다
  • 동적로딩(Dynamic Loading)을 지원한다.

 Garbage Collection:메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다.

 

분산처리:하나의 컴퓨터 or 서버에서 처리하는 방식을 넘어 네트워크에서 원격 컴퓨터와 통신하면서 하나의 목적을 위해 여러 서버에서 연산을 처리하도록 만든 시스템

 

 멀티쓰레드: 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미

 

동적로딩(Dynamic Loading):  자바 애플리케이션은  여러개의 클래스로 구성되있어서  실행시 필요한 시점에 클래스를 로딩하여 사용할수있는 장점 

 

일부변경을 해도 전체를 컴파일할 필요없이 유연하게 작업가능

 

JDK(Java Development Kit) 자바에서 제공되는 개발용 라이브러리. 계속 버전 업데이트 됨.

JRE(Java Runtime Enviroment) 자바 프로그램이 실행되는 환경.

JVM(Java Virutal Machine) 자바 가상머신으로 프로그램이 실행되는 환경인  JRE가 설치되어 있어야 함

 

자바: JRE + JDK + API

      =  (실행환경)+(개발도구)+API


컴퓨터에서 자료표현하기

-0 과 1로만  데이터를 저장함

-bit(1비트) :컴퓨터가 표현하는 Data의 최소단위로 2진수 하나의 값을 저장할수 있는 메모리의 크기

byte(바이트): 1byte= 8bit

 


변수=  하나의 값을 저장할수있는 메모리 공간

int height = (int)변수타입: 저장공간 크기
             (height)변수명:변수명 선언으로 사용가능
             
int height = 164; 초기화= 변수사용하기전에 처음으로 값을 저장

 

변수명명 규칙

  • 대소문자가 구분, 길이제한없음
  • 예약어 사용금지
  • 숫자로 시작금지
  • 특수문자는 ' _' '$'만을 허용

관례

  • 클래스 이름의 첫글자는 항상 대문자로 함
  • 여러단어로이루어진 단어는 첫글자를 대문자로 함
  • 상수의 이름은 모두 대문자 /여러단어인 경우 '_' 구분

변수의 타입

기본형

:논리형(boolean), 문자형(char), 정수형(byte, short, int, long) , 실수형(float, double) 8개

1byte=8bit 정수형  문자형   실수형  논리형
1byte  byte char   boolean
2byte short      
4byte int   float 정밀도 7자리  
8byte long   double 정밀도 15자리  
  • boolean 은 true/false 2가지 값을 표현  가장 작은 크기인 1byte
  • char은 유니코드(2byte 문자 체계)를 사용하므로 2byte
  • byte는 크기가 1byte라서 byte
  • int(4byte)를 기준으로 짧아서 short (2byte) , 길어서 long(8byte)
  • float는 실수 값을 부동소수점(floating-point) 방식으로 저장하기 때문에 float
  • double은 float보다 두배의 크기(8byte)를 갖기 때문에 double

참조형

: 객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입

 참조변수의 초기화

  ex) Clock  hour= new Clock();

리터럴

= 그 자체의 값을 의미

리터럴의 타입과 접미사

long 타입의 리터럴에 접미사 ㅣor  L을 붙이고 , 접미사 없으면 int 타입이다.

byte 랑 short은 접미사가 없다.

  • 정수형 접미사: (Long) L

실수형 리터럴에는 접미사를 붙여서 구분한다.

 

  • 실수형 접미사:(float) f , (double) d

 

n 비트로 표현할 수 있는 부호없는 정수의 범위

0 ~ 2ⁿ-1

n비트로 표현할수있는 부호 있는 정수의 범위

문자열의 결합

문자열 + any type -> 문자열

any type + 문자열 -> 문자열

타입 간의 변환 방법

  1.  문자와 숫자 간의 변환  3+"0"-->"3  /  3 <--"3"-"0"      
  2. 문자열로의 변환          3+""-->"3"   
  3. 문자열을 숫자로 변환    "3"--Interger.parseInt(3)-->3 

 

오버플로우

표현할수있는 값의 범위를 넘어서는 것

 

부호없는 정수 오버플로우 

정수(4bits)0~15  값이 계속반복

최소 0 최대 15 

15 + 1 = 0

0 - 1= 15

 

부호있는 정수

4bits -8~7

7+ 1= -8

-8 -1= 7


참고문헌 :남궁성, 『자바의정석』, 도우출판

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

객체지향(OOP)메서드  (0) 2022.12.29
객체지향(OOP)Part1요약  (0) 2022.12.26
배열  (0) 2022.12.23
제어문  (0) 2022.12.22
연산자  (0) 2022.12.21