티스토리 뷰
자바 특징
- 운영체제 독립
- 객체지향 언어- 상속, 캡슐화, 다형성
- 자동메모리관리(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 + 문자열 -> 문자열
타입 간의 변환 방법
- 문자와 숫자 간의 변환 3+"0"-->"3 / 3 <--"3"-"0"
- 문자열로의 변환 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 |
- Total
- Today
- Yesterday
- 자료구조
- mysql #인텔리제이랑 연결 #다시설치 및 재실행
- 국비지원교육
- 알고리즘 복잡도 #알고리즘 공부 #이것이코딩테스트다 #이코테 #나동빈
- JSON #json #개발자필수지식
- JSON
- JSON에 대해서 알아보기
- 개발자취업부트캠프
- 내일배움카드
- application.yml 설정
- HTTP #메타코딩
- MegabyteSchool
- 스프링 # 스프링부트 #서버와클라이언트 # 공부기록
- Spring Boot 공부
- 국비지원
- spring #springboot #스프링부트공부 #스프링부트실습 #메타코딩유튜브
- 빌드 오류 #java버전오류
- 자료구조 #CS공부
- 패스트캠퍼스
- git 개념 #spring전 git #간단한 개념만
- 메가바이트스쿨
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |