코딩크리처 2024. 5. 6. 18:34

hyperskill - Types and variables - 영어 원문

프로그래밍 안에서, variable (변수) 는 특정한 타입의 값을 저장하기 위한 표시자 입니다. :

string (문자열), number (숫자), 등등.

이번 주제에서는, 자바 프로그램 내부에서 어떻게 변수를 선언하고 사용하는지 배울 겁니다.


Declaring and Initializaing - 선언과 초기화


모든 변수는 이름을 가지고 있는데(식별자로서 알려지기도 합니다), 다른 것들로부터 구별하기 위함입니다.

변수 사용 전에는 무조건 선언해야 합니다.

선언에 대한 일반적인 형태는 밑과 같습니다 :

DataType variableName = initialization;

이 문법의 왼 쪽 부분은 변수를 묘사하며, 오른쪽 부분은 무언가가 할당된다는 것을 설명합니다.

1. type - 타입

값의 유형(데이터 타입)은 연산자가 해당 유형에 저장된 값을 사용 할 수 있게 해 줍니다.

우리가 여기 존재하지 않는 데이터 타입 DataType을 기입했는데,

이는 일반적인 형태의 변수 선언을 설명하기 위함입니다.


2. name - 이름 및 식별자


이름(식별자)는 다른 변수로부터 서로를 구별합니다.

변수의 이름은 숫자로 시작 할 수 없습니다. 주로 문자로 시작합니다.

당신의 코드에 대한 이해도를 쉽게 만들기 위해서 변수의 이름을 의미있고 가독성 좋게 만드세요.


3. assignment operator - 할당 연산자.


할당 연산자는 = 로 표시되는데, 이는 하나의 값, 혹은 변수 표현식의 결과를 할당하기 위해 사용됩니다.

4. initialization - 초기화


초기화 값은 변수에 할당된 표현식의 결과이거나, 하나의 변수입니다.


이러한 선언에 따르면, 우리는 String 타입의 변수를 선언하고 "java" 단어를 이에 할당할 수 있습니다.

String language = "java";

int 타입의 변수도 선언할 수 있는데, 이는 정수를 저장하기 위해 선언할 수 있습니다.

int numberOfApples = 5;

변수의 이름은 서로를 다르게 만듭니다 : languageLanguage 와 다르듯이.


변수들은 문자열과 숫자들만을 저장 할 뿐만 아니라, 다음 주제에서 배울 예정인 데이터 타입 '문자' 도 저장합니다.


Accessing the value of a variable - 변수의 값에 접근하기


한 번 변수가 선언되면, 해당되는 값에 이름을 이름하여 접근하거나 조정합니다.

밑의 예제에서는, 우리는 변수를 선언하고 출력합니다 :

String daOfWeek = "Monday";
System.out.println(dayOfWeek); // Monday

변수를 또다른 변수로 할당하는 것 또한 가능합니다 :

int one = 1;
int num = one;
System.out.println(num); // 1

변수의 중요한 기능은 바뀔 수 있다는 점 입니다.

변수를 선언하기 위해 다시 값을 변경 할 필요가 없습니다.

그저 = (할당 연산자:assign operator) 를 사용해서 새로운 값을 할당합니다.


dayOfWeek 이름 변수를 선언하고 값이 변하기 전과 후를 출력 해 봅시다 :

String dayOfWeek = "Monday";
System.out.println(dayOfWeek); //  Monday

dayOfWeek = "Tuesday";
System.out.println(dayOfWeek); // Tuesday 

여기 변수에 대한 하나의 제약이 있습니다 :

처음 변수의 타입과 같은 타입의 값만 할당 할 수 있다는 겁니다.

따라서, 밑의 코드는 옳바르지 않습니다 :

int number = 10;
number = 11; // ok
number = "twelve"; // 작동하지 않습니다. 

Alternative forms of daclaration - 선언의 대체 형태


여기 몇몇의 선언의 대체 형태가 있습니다.

여기 예제에서 보여집니다 :

  • 단 하나의 문법에 같은 타입의 변수들을 선언하기
String language = "java", version = "8 or newer";
  • 문법들에서 개별로 선언하고 초기화하기 :
int age; // declaration - 선언 
age = 35; // initialization - 초기화 

하지만, 우리가 이미 알고 있듯이, 이러한 형태들은 희귀하게 사용됩니다.


Type inference - 타입 추론


Java 10 때 부터, 특정한 값 대신, 값에 할당 된 타입에 기초한 자동적인 타입 추론을 강요합니다 :

var variableName = initialization;

여기 두 가지 예제가 있습니다 :

var language = "Java"; // String - 문자열
var version = 10; // int - 정수 

이런 기능은 약간 논란이 있을 수 있습니다.

한편으로는, 이 기능은 당신의 코드를 더 간결하게 해 줍니다.

또 다른 한편으로, 명시적으로 타입을 가르키지 않기 때문에, 코드 가독성에 나쁜 영향을 끼칩니다.

지금으로선, 이 코드에 대한 기본적인 생각을 이해하는 데 충분합니다.


우리는 이론에서 타입 추론을 사용하지 않을 건데,

이는 우리의 교육적인 플랫폼이 더 이른 버전의 자바를 사용하는 사람들에게 맞춰져 있기 때문입니다.

하지만, 만약 당신이 이를 연습하고자 한다면,

당신은 Java 10을 충분히 지원하는 플랫폼에서 우리의 타입 추론 코드를 사용해야 합니다.


Conclusion - 결론


자바의 변수들은 서로 다른 데이터 타입들에 값을 저장하기 위해 사용됩니다.

이는 데이터 타입, 이름과 함께 선언 될 필요가 있습니다.

변수들은 선언 후에 조정(수정) 될 수 있지만,

새로운 값은 이전 것과 같은 타입이어야 합니다.

Java 10 이라면, var 키워드는 자동 타입 추론으로 소개되었습니다.