목차
자료형
- 프로그램에서 사용되는 데이터의 유형이다.
- 자료형의 종류에는 기본형(Primitive Data Type)과 참조형(Reference Data)가 있다.
기본형(Primitive Data Type)
- 미리 정해져있는 데이터 유형을 말한다.
종류 자료형의 이름 메모리 사용량 정수헝 byte 1 byte short 2 byte int 4 byte long 8 byte 실수형 float 4 byte double 8 byte 문자형 char 2 byte 논리형 boolean 1 byte
참조형(Reference Data Type)
- 클래스가 객체화 될 때 메모리에 올라가는데 이 때, 객체의 메모리 위치 주소 값을 말한다.
- 객체의 메모리 위치 주소값은 객체가 소유한 속성변수나 메소드를 호출할 때 사용된다.
클래스
: Java 에서 클래스란 속성변수와 메소드를 정의해놓은 일종의 템플릿(틀)로~.class
파일로 존재한다.
속성변수
: 기본형 데이터 또는 참조형 데이터가 저장되는 변수이다.메소드
:
- 변수의 조작, 데이터의 조작, 다른 메소드의 호출, 객체의 생성 등의 실행 방법과 과정을 정의한다.
- 객체가 소유한 메소드를 호출하면 메소드 안의 코딩 원리를 몰라도 원하는 작업을 할 수 있다.
- 클래스를 실행하면 메모리 공간으로 올라가고 이때부터 객체로 부른다.
변수
변수
- 데이터가 저장되는 메모리 기억장소에 붙인 이름을 말한다.
- 데이터를 저장하거나 읽어오기 위해 사용된다.
- 변수 안에 데이터 값은 수시로 변경하여 재저장 할 수 있다.
- 데이터 갱신 불가 설정 시에는 변수 앞에 final을 붙이고 변수 대신 상수라고 부른다.
상수
: 변하지 않는 값을 가지고 있는 변수이다.변수명 제작 규칙
- 영문, 한굴, 숫자, _, & 를 조합하여 만든다.
- 첫 글자는 반드시 영문, 한글, _ 로만 시작해야 한다.
- 중간에 공백이 있으면 안된다.
- JAVA 문법 상의 키워드는 사용할 수 없다.
- 키워드란 미리 정해져서 JAVA 프로그램의 구성요소에 붙여진 이름을 말한다.(ex : if, for, while …)
- 자바의 키워드는 모두 소문자이다. (대문자는 식별자이다.)
- 변수명의 길이 제한은 없으나 가독성을 위해 최소 3글자 이상으로 주는 것이 좋다.
- 관용적인 변수 이름 생성 방법
- 영문 대소문자와 _를 조합한다.
- 모두 소문자로 만들되 중간에 다른 의미의 단어를 붙일 땐 대문자를 쓴다.
- 어떤 데이터가 저장되어 있는지 예측 가능하도록 의미있게 지어준다.
- 변수명이 전부 대문자라면 주로 변경이 불가능한 변수임을 의미한다.
- p.s : 클래스는 객체화를 위해 생성되고 객체는 클래스로부터 만들어진다.
변수 선언과 데이터 저장
변수 종류 변수 선언과 데이터 저장 형식 설명 속성변수일 경우 자료형 속성변수명 = 데이터; 속성변수 선언과 동시에 개발자가 데이터를 저장한다.(= 수동 초기화) 자료형 속성변수; 속성변수 선언과 동시에 자동으로 기본값 데이터를 저장한다.(= 자동 초기화) 지역변수일 경우 자료형 지역변수명 = 데이터; 지역변수 선언과 동시에 개발자가 데이터를 저장한다.(= 수동 초기화) 자료형 지역변수명;
지역변수명 = 데이터;지역변수 선언, 데이터 저장이 없다.(= 지동 초기화 실패)
개발자가 데이터를 저장한다.(= 개발자가 초기화한다.)
- 변수의 선언은 데이터 저장을 위한 메모리 공간을 확보해달라고 JVM에 부탁하는 행위이다.
할당(assignment)
: 변수에 데이터를 저장하는 행위이다.초기화(initialization)
- 변수 선언 이후 처음으로 데이터를 저장하는 행위이다. 단, 지역변수는 자동 초기화가 불가능하다.
- 지역변수는 지역변수 선언 이후 그 지역 안에서 개발자가 직접 할당하지 않으면 컴파일 에러가 발생한다.
- 같은 유형의 변수를 2개 이상 선언할 경우 자료형 변수명1 = 데이터, 변수명2 = 데이터 .. 로 선언할 수 있다.
- 오라클에서 null은 데이터를 입력하지 않을 경우 대신 넣어주는 데이터이다.
- 자바의 null은 변수안에 무조건 데이터가 있어야 한다는 의미이다.
변수 종류 변수 선언과 데이터 저장 형식 설명 속성변수일 경우 int num = 5; 속성변수 num 선언과 동시에 개발자가 정수 데이터 5를 저장한다.(= 수동 초기화) int num; 속성변수 num을 선언하고 자동 초기화로 0을 저장한다. 지역변수일 경우 int num = 5; 지역변수 num 선언과 동시에 개발자가 정수 데이터 5를 저장한다.(= 수동 초기화) int num;
num = 5;지역변수 num 선언, 자동 초기화 실패
정수 데이터 5를 저장한다.(= 수동 초기화)
자료형 변환(Data Type Conversion)
- 서로 다른 자료형의 데이터끼리 연산을 할 때 또는 변수에 데이터를 저장할 때 자료형을 통일하는 작업을 말한다.
- 자료형의 변환에는 암시적 형 변환과 명시적 형 변환이 있다.
암시적 형 변환(Implict Type Conversion)
- 어느 한 쪽 자료형이 다른 쪽 자료형으로 자동 변환되는 것을 말한다.
- 암시적 형 변환 시 자료형의 우선순위는 byte < char 또는 short < int < long < float < double 이다.
예 결과 int num1 = 5;
int num2 = 2;
int result = num1/num2;변수 result에 2
저장
형변환 없음
result의 결과는2.5
가 아니고2
이다. 정수와 정수의 연산결과는 정수이기 때문이다.int num1 = 5;
int num2 = 2;
double result = num1/num2;변수 result에 2.0
저장
result의 결과값2
가 double형 변수에 저장되므로2.0
을 반환한다.double num1 = 5.0;
int num2 = 2;
double result = num1/num2;변수 result에 2.5
저장
num2의 2가2.0
으로 반환int num1 = 5;
double num2 = 2.0;
double result = num1/num2;변수 result에 2.5
저장
num1의 5가5.0
으로 반환double num1 = 5.0;
double num2 = 2.0;
double result = num1/num2;변수 result에 2.5
저장
형변환 없음int num2 = “a”; 변수 num2에 97
저장
“a”가 int형 변수에 저장되므로 아스키 코드값인 97로 반환명시적 형 변환(Explict Type Conversion)
- 코딩으로 cast 연산자를 명시함으로써 원하는 자료형으로 변환되는 것을 말한다.
- cast 연산자 바로 뒤의 변수 또는 데이터를 원하는 자료형으로 변환시킨다.
- 객체간의 형변환도 cast 연산자를 사용할 수 있다.
예 결과 int num1 = 5;
int num2 = 2;
double result = (double)num1/num2;변수 result에 2.5
저장
(double)가 num1을5.0
으로 변환시킨다.int num1 = 5;
int num2 = 2;
double result = (double)(num1/num2);변수 result에 2.0
저장
(double)가 결과값을2.0
으로 변환시킨다.int num1 = 5;
int num2 = 2;
int result = (double)num1/num2;컴파일 불가능
(double)결과값2.5
를 int형에 저장할 수 없다.