[ 변수 생성하기 ]
= 변수, 상수로 만들 수 있다.
1] 변수 = 단 하나의 값을 저장할 수 있는 메모리 상 공간 / 값이 변할 수 있음
2] 상수 = 고정값
(final을 사용하여 초기값 변경 불가능, 모두 대문자 사용 )
1> 클래스 앞에 final이 붙으면 상속 불가
2> 멤버 앞에 붙으면 초기값 수정 불가
3> 메서드 앞에 붙으면 오버라이딩 불가
=> 주어진 대로만 사용할 수 밖에 없음
1) 변수 선언 : 속성 + 이름으로 쓴다
2) 변수 초기화 : 변수에 값을 넣어야 움직인다
3) 클래스 변수는 변수 초기화 생략
= 지역변수는 사용 전에 반드시 초기화
[명명규칙]
1) 대소문자가 구분되며 길이에 제한이 없다.
2) 숫자로 시작은 불가능
3) 특수문자는 '_' , '$' 만 허용=
[변수종류]
1) 클래스 변수 (static 변수)
1> 메소드 영역에 저장되며 클래스 소멸때까지 사용된다.
EX) STATIC INT 변수명 ;
2> 다른 클래스에서 접근해서 사용할 때 클래스 이름으로 접근해야한다
3> 메서드 앞에 static을 사용하면 this나 super가 불가하다!
4> static 자원은 공유되지만 메모리에는 1개만 올라가 있다!
2) 인스턴스 변수 (객체 변수)
= 힙 영역에서 저장되며 인스턴스가 소멸떄까지 사용된다.
EX) STRING 변수명;
=> 생성방법
1) 객체참조변수명 = new 클래스명();
ex) mycar = new Car();
2) 클래스명 객체참조변수명 = new 클래스명();
ex) Car mycar = new Car();
3) 지역변수
= 스택영역에 저장되며 메소드 안에서만 선언되어 사용되는 변수
=> 인스턴스와 클래스 변수값을 변경가능하다!
4) 멤버변수 (전역변수)
: 어디든지 쓰일 수 있음 / 객체를 생성한다면!
5) 매개변수 (파라미터 변수)
: 파라미터 값으로 준다
[this 참조변수]
= 인스턴스가 자기 자신을 가리킬 떄 사용한다.
2] 상수 = 공격력 고정인 유닛
EX) FINAL 타입명 유닛명
1. 기본 자료형 (8개)
= 실제 DATA를 저장한다. / 연산은 참조형은 불가능해서 연산에 사용되는 것은 모두 기본형 변수다.
1) 정수형
- byre(1바이트) : 작은 범위의 값을 저장하기 유용
- char(2바이트) : 음수표현 하지 않고, 문자를 저장하거나 출력하는 용도로 사용
- short(2바이트) : 메모리에서 차지하는 크기가 작다
- int(4바이트) : 정수타입 기본 자료형
- long(8바이트) : 표현범위가 큰 데이터 저장하기 유용한 자료형
2) 논리형
- boolean : true or false 중 하나의 값만 가진다
3) 실수형
- float(4바이트) : 표현범위가 작다
- double(8바이트) : 실수형에서 기본 데이터형
=> 소수점까지 표시 가능
4) 산술연산자
- 이항연산자 (+/-/*/나누기)
-> % : 두 수를 나눈 나머지 값을 구함
-> += : 좌변과 우변을 더한 결과를 좌변에 대입
-> -= : 좌변과 우변을 뺀 결과를 좌변에 대입
-> %= : 좌변과 우변을 나눈 나머지 결과를 좌변에 대입
- 단항연산자 (++ / --)
: 각 1씩 증가 / 감소시킴
5) 관계 연산자
- > : 왼쪽 항이 크면 참 아니면 거짓
- < : 오른쪽 항이 크면 참 아니면 거짓
- >= : 왼쪽 항이 크거나 같으면 참 아니면 거짓
- <= : 오른쪽 항이 크거나 같으면 참 아니면 거짓
- == : 왼쪽과 오른쪽이 같으면 참 아니면 거짓
- != : 왼쪽과 오른쪽이 같지 않으면 참 아니면 거짓
6) 논리 연산자
- &&(AND) : 두 항 모두 참이면 참 아니면 거짓
- ||(OR) : 두 항 중 하나만 참이면 참 아니면 거짓
- !(NOT) : 연산되는 항이 참이면 거짓 / 거짓이면 참
=> 연산자는 유닛의 공격력 또는 관계에 대해 정해준다.
2. 래퍼 클래스(객체) (기본형을 제외한 나머지들)
= 어떤 값이 저장되어 있는 주소를 값으로 갖는다.
1) int = INTEGER
2) long = LONG
3) byte = BYTE
4) char = Character
5) float = FLOAT
5) double = DOUBLE
6) short = Short
5. 박싱 & 언박싱
1) 박싱 = 일반 클래스 -> 래퍼 클래스로 변환
2) 언박싱 = 래퍼 클래스 -> 일반 클래스
3. 레퍼런스 타입
1) 클래스
2) 인터페이스
3) 배열
4. 형변환과 캐스트 연산자
1) 형변환
= 공격력을 부여할 때 맞지 않는 연산자가 발생시 자동으로 맞는 타입으로 변환해준다.
- boolean을 제외한 나머지 7개의 기본형은 서로 형변환이 가능
- 값의 범위가 작은 타입에서 큰 타입으로의 형변환은 생략 가능
2) 종류
- 명시적(강제) 형변환
= 경고 무시하고 큰 타입에서 작은 타입으로 변환 / 캐스트 연산자
ex) int a = (int) 3.5;
- 묵시적(자동) 형변환
= 작은 타입에서 큰 타입으로 변환
'자바 이야기' 카테고리의 다른 글
DB 연동방식 (0) | 2020.07.30 |
---|---|
자바 이야기 6. 메소드의 활용 (0) | 2020.05.12 |
자바 이야기 4. 배럭만들기와 한 부대씩 움직이게 하기 (0) | 2020.02.28 |
자바 이야기 2. 내 맘대로 조종하기 / 귀찮은거 반복하게 하기 (0) | 2020.02.24 |
출력 메소드 (0) | 2020.02.19 |