쌍용 강북 교육센터 국비학원 Day 2일차
static 변수
static 변수는 동일한 클래스로 생성되어진 서로 다른 instance (객체) 들 끼리 공유하는 변수이다.
static 변수는 클래스명.static변수명 으로 사용한다.
인스턴스 변수와 스태틱변수를 합쳐서 구성원 (Member) 변수라고 부른다.
인스턴스 변수와 스태틱 변수는 초기화를 하지 않더라도 자동적으로 초기화가 되어진다.
정수형인 데이터 타입 (byte, long, short, int)은 자동적으로 0으로 초기화가 되고, 실수형인 데이터 타입 (float, double) 0.0 으로 초기화가 된다.
문자형인 데이터 타입 (char)은 ' ' (공백)으로 초기화가 되고, String을 포함한 클래스 타입은 null로 초기화가 된다.
어떤 메소드 안에서 선언되어진 변수를 지역변수 (local Variable) 라고 한다.
지역변수는 { } 내에서만 사용되어지기 때문에 { } 을 벗어나는 순간 자동적으로 메모리에서 삭제가 되어진다. 지역변수는 반드시 초기화 (어떤 변수에 처음부터 값을 부여해주는 것)를 해주어야 한다.
인스턴스를 사용한 후에는 인스턴스에 할당되었던 메모리 공간을 비워야한다
System.gc(); Garbage Collector (쓰레기 수집) 이라는 초기화를 해주어야 하지만 생략 가능하다. 프로그램이 종료되면서 자동적으로 해주기 때문이다.
static이 아닌 메소드를 불러오려면 그 인스턴스를 객체를 만들어 사용해야한다.
반대로 해당 메소드가 static일 경우 -> 다른 클래스나 패키지에서 클래스명.( ) 로 불러와 사용가능
보통 변수의 static 키워드는 프로그래밍시 메모리의 효율보다는 공유의 목적으로 훨씬 더 많이 사용한다.
객체변수는 항상 독립적인 값을 갖기 때문에 이를 공유하기 위해서는 static을 사용한다.
그러므로 자주 사용하는 메소드를 static으로 사용하는 것이 수월하다.
클래스 ㅡ 필드 -> 인스턴스 변수, 스태틱 변수
\ 메소드 -> 인스턴스 메소드, 스태틱 메소드
자료형
카멜 표기법 : 단어와 단어가 결합된 경우라면 두번째 단어는 대문자로 시작하는 것
스네이크 표기법 : 단어와 단어가 결합된 경우라면 단어사이에 _ 를 넣어주는것
1. 정수형 (byte, short, int, long)
byte (1byte = 8bit) : -2^7 (-2의 7승) ~ 2^7-1(2의 7승 - 1) ==> -128 ~ 127
short(2byte == 16bit) : -2^15 ~ 2^15-1 ==> -32,768 ~ 32,767
int (4byte == 32bit) : -2^31 ~ 2^31-1 ==> -2,147,483,648 ~ 2,147,483,647
long (8byte == 64bit) : -2^63 ~ 2^63-1 ==> -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
2. 실수형(float, double)
float(4byte) : 단정밀도 소수점이하 7자리까지 표현됨. 135.3246235
double(8byte) : 배정밀도 소수점이하 15~16자리까지 표현됨. 135.3246234502345642
실수값을 float 형태로 나타내기 위해서는 실수뒤에 반드시 소문자 f 또는 대문자 F를 붙여야 한다.
3. 문자형(char)
char : 자바는 유니코드 체계를 사용하므로
문자형 타입인 char 는 2byte 이며, 범위는 0 ~ 65535 이다.
그래서 char 타입에는 문자 1개 또는 숫자(0~65535)도 올 수 있다.
4. 참(true) 또는 거짓(false)을 담아주는 boolean 타입
크기가 1byte 이다.
참조형 타입(Reference Type)
-> 클래스 객체(==object ==instance) 타입
-> 메모리상에 저장되어진 객체의 메모리 주소를 참조하는 것이다.
-> 참조형 타입(Reference Type) 메모리상에 크기는 4byte 를 차지한다.
데이터 타입이 byte 또는 short 또는 char 인 변수가 사칙연산을 만나면 자동적으로 그 변수의 데이터 타입은 int로 자동 형변환이 발생된다. 이것을 캐스팅 (casting - 형변환) 이라고 한다. 값 앞에 ( ) 괄호에 데이터 타입을 넣으면 강제로 형변환이 가능하다.
'Java' 카테고리의 다른 글
쌍용강북교육센터 국비 학원 Day 4일차 Java (Casting, Operator, Scanner) (0) | 2023.01.05 |
---|---|
쌍용강북교육센터 국비 학원 Day 3일차 Java (생성자, overloading) (0) | 2023.01.04 |
쌍용강북교육센터 국비 학원 Day 1일차 Java (Class, instance) (0) | 2023.01.02 |
Java 기초 입문 12일차 (메소드 참조, Stream) (0) | 2023.01.02 |
Java 기초 입문 11일차 (와일드카드, thread, 람다식) (2) | 2022.12.27 |