국비/Java

[02-2] Java - 식별자(Identifier), 변수(Variable)

제발 취업하게 해주세요 2022. 4. 8. 21:01
❗식별자(Identifier) = Java 클래스명, 메소드명, 변수명 등 사용자가 만들어서 이용하는 고유의 이름
- 식별자를 생성할 때 꼭 지켜야하는 규칙 (안지키면 안만들어짐)

* 1. 대문자, 소문자를 구분하며 길이제한은 없다.
* 2. 문자, 숫자, _, $를 식별자 포함 가능
* 3. 첫글자는 문자, _, $로 시작, 숫자x
* 4. 공백은 포함할 수 없음
* 5. 키워드(예약어)는 식별자로 사용할 수 없음


- 식별자 이름 규칙 (개발자들의 약속)

* 1. 클래스/인터페이스 이름 규칙
* - 명사, 형용사를 서술적으로 연결해서 사용한다.
* - 첫 글자는 대문자로 표기
* - 연결된 단어들의 첫 글자도 대문자로 표기한다
* ex) HelloWorld

* 2. 변수 이름 규칙
* - 명사적 의미를 갖게 만듦
* - 첫글자를 소문자로 표기함, 연결 된 단어들은 대문자로 표기
* ex) phoneNumber

* 3. 메소드 이름 규칙
* - 동사적 의미를 갖게 만듦
* - 첫 글자는 소문자로 표기, 연결 된 단어들은 대문자로 표기
* - 메소드명을 짓고 나서 제일 뒤에 괄호()가 붙음
* - 메소드명은 일반적으로 _ 사용 x
* ex) calPay(), join()

* 4. 상수 이름 규칙
* - 모든 문자를 대문자로 표기
* - 단어와 단어 사이를 (_)을 사용하여 구분한다.
* ex) LOGIN_OK
❗변수(Variable)란?
메모리(RAM)에 값을 기록하기 위한 공간
변수를 사용하는 이유
1. 변수는 값에 의미를 부여하기 위해 사용 => 가독성 높여줌

2. 단 한 번의 값을 기록함으로써 필요할 때마다 재사용 가능 => 재사용성 높여줌

가독성과 재사용성이 높아지면서 유지보수 용이해짐 => 생산성 up
package com.ullebulle.variable;

public class A_Variable {
	// 변수의 필요성
	// 주급 계산을 해볼까요???
	
	public void calPay() {
		System.out.println("-----------변수 사용 전-----------");
		System.out.println("시급 : 9160원");
		System.out.println("근무 시간 : 8시간");
		System.out.println("근무 일자 : 5일");
		
		// 주급 = 시급*근무시간*근무일자
		// 출력 형식 : XXX : ㅇㅇㅇㅇ원 형식으로 출력!
		// 자바에서 + 기호는 값과 값을 붙일 때 사용한다
		// 자바에서 * 기호는 곱하기를 할 때 사용한다
		
		System.out.println("백노바 : " + (30000 * 8 * 5) + "원");
		System.out.println("강초당 : " + (30000 * 8 * 5) + "원");
		System.out.println("망난이 : " + (30000 * 8 * 5) + "원");

		System.out.println("-----------변수 사용 후-----------");
		
		// 각각의 시급, 근무시간, 근무일수 라는 값을 담을 공간, 즉 변수를 만들고 값을 담는다.
		int pay = 30000; // 시급
		int time = 8; // 근무시간
		int day = 5; // 근무일수
		
		System.out.println("시급 : " + pay + "원");
		System.out.println("근무 시간 : " + time + "시간");
		System.out.println("근무 일수 : " + day + "일");
		System.out.println("장폰주 : " + (pay * time * day) + "원");
		System.out.println("송몽숙 : " + (pay * time * day) + "원");
		System.out.println("구라베 : " + (pay * time * day) + "원");
		
	} // calPay() 영역 끝
변수를 사용하면 가독성과 생산성이 높아진다

‼️변수 선언 방법
* 변수타입(자료형) 변수이름;
// ex) int pay;

* 같은 타입의 변수를 선언할 때는 한꺼번에 선언할 수 있음
// ex) int pay, day, time; => 권장하는 방법은 아님

* 변수를 선언하고 난 뒤에 처음 값을 저장하는 것을 "초기화(initialization)"라고 함

* 초기화를 진행하여 넣어준 값을 초기값이라고 함 // ex) int pay = 50000;

‼️변수의 자료형
/*
* 1. 논리형 자료형 (논리값 : true, false)
* 논리형 자료형에는 true, false가 존재한다
*/

/*
* 2. 숫자형 자료형
*
* 정수형에는 4가지 유형이 있다.
* 정수형 예약어는 byte, short, int, long 형이 있고 int형을 주로 사용하면 된다.
* 정수형의 기본형은 int, long형을 사용할 때는 할당할 숫자 뒤에"L"을 붙여야 함
*
*
* 실수형에는 2가지 유형이 있다.
* 실수형 예약어는 float, double이라는 키워드를 사용하고 double을 사용함
* double형이 float형 보다 자세한 숫자 표현
* float 형을 사용하려면 할당한 숫자 뒤에 "F" 붙임
*
*/

// 2_1. 정수형
byte bNum = 1; // 1byte
short sNum = 2; // 2byte
int iNum = 4; // 4byte
long lNum = 8L; //8byte

// 2_2. 실수형
float fNum = 22.2f; // 4byte
double dNum = 3.3333; // 8byte

int num = 999_999_999; // 자리수가 큰 숫자는 가독성을 위해 언더바 넣을 수 있음


//3. 문자형
char ch;
ch = 'a'; // 단일문자에는 반드시 홑따옴표를 붙여준다.


//4. 문자열형 : 참조자료형, => 주소를 담는다! 가장 많이 사용
String str;
str = "안녕";
public void declarVariable() {
		// 정수형
		byte bNum = 1; // 1byte
		short sNum = 2; // 2byte
		int iNum = 4; // 4byte
		long lNum = 8L; //8byte
		
		// 실수형
		float fNum = 22.2f; // 4byte
		double dNum = 3.3333; // 8byte
        
		// 문자형
		char ch;
		ch = 'a';
		
		// 문자열형
		String str;
		str = "안녕";
	
		System.out.println("isTrue = " + isTrue);
		System.out.println("isFalse = " + isFalse);
		System.out.println("bNum = " + bNum);
		System.out.println("sNum = " + sNum);
		System.out.println("iNum = " + iNum);
		System.out.println("lNum = " + lNum);
		System.out.println("fNum = " + fNum);
		System.out.println("dNum = " + dNum);
		System.out.println("ch = " + ch);
		System.out.println("str = " + str);