[Java] 변수

Robert.Yang·2023년 8월 29일

JAVA

목록 보기
4/8
post-thumbnail

참고
자바의 정석
https://const17.github.io/5-swap/

변수란?

  • 단 하나의 값을 저장할 수 있는 메모리 공간
  • 새로운 값을 저장하면 기존의 값은 사라진다.

변수의 선언과 초기화

int age; // age라는 이름의 변수를 선언
  • 위의 코드를 보면 여기서 'int'는 변수의 타입을 의미하며, 'age'는 변수의 이름을 말한다.
  • 변수 타입은 변수에 저장될 값이 어떤 타입인지 지정하는 것을 말한다.
  • C언어에는 정수형, 실수형, 문자형이 있다.
  • 변수 이름은 변수에 이름을 붙이는것으로 메모리 공간에 이름을 붙여주는 것이다.
  • 그래야 값도 저장이 가능하고 저장된 값을 읽어 올 수 있다.
  • 그래서 같은 이름의 변수는 여러개가 될 수 없다.

즉, 메모리의 빈 공간에 변수타입에 알맞은 크기의 저장공간이 확보되고,
이 저장 공간은 변수이름을 통해 사용이 가능하다.

  • 변수를 선언한 이후에 변수를 사용이 가능하나, 그 전에 반드시 변수를 초기화해야 한다.
  • 메모리는 여러 프로그램이 공유하는 자원이므로, 전에 다른 프로그램에 의해 저장된
    알수 없는 쓰레기 값이 남아 있을 수 있기 때문에 초기화 작업을 거쳐야 한다.
  • 초기화 작업은 아래와 같다.
int age = 25; // 변수 age를 선언하고 25로 초기화 한다.

위의 코드에 '='은 수학에서는 동등 연산자이지만, 프로그래밍에서는 대입연산자로 쓰인다.

변수의 종류에는 클래스 변수, 인스턴스 변수, 지역변수가 존재하는데
여기서 지역변수는 반드시 초기화를 해줘야 한다.

  • 변수는 사용되기 전에 변수의 타입을 확인하고 적절한 값으로 초기화 작업을 하는것이 중요하다.

변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것

  • 변수에 저장된 값을 사용하려면, 그저 변수의 이름만 적어주면 된다.
  • 변수의 값을 저장하는 '대입 연산자 (=)'는 우변의 모든 계산이 끝난 후에 제일 마지막에 수행한다.

두 변수의 값 교환하기

  • 두 변수의 값을 교환하려면 어떻게 해야할까?
  • 일반적으로 x라는 변수의 값을 y에 저장하고 y의 값을 x에 저장하면 될것 같지만
    원하는 결과를 얻지 못할 것이다.
  • x라는 변수의 값을 y에 저장하면 b의 저장된 값이 변경되기 때문이다.
  • 해결책은 아래의 그림처럼 임시 변수를 두는 것이다.

  • 위의 그림처럼 temp라는 임시 변수에 값을 넣어두고 y의 값을 x에 temp의 값을 y에 저장해두면 된다.

참고
코딩을 하다보면 연산자를 많이 보게 될것이다.
그 중에 '+' 연산자는 두 값을 더하기도 하지만 문자열과 숫자를 하나로 결합하는 역할도 지닌다.

변수의 명명 규칙 (Naming Convention)

  • 현업에서 일을 하다보면 변수의 이름을 짓는것에 시간을 꽤 투자한다.
  • 일단 변수의 이름을 지을때 함부로 a,b,c.. 의미없는 이름을 쓰는것은 좋지 않은 습관이다.
  • 또한 지켜야할 규칙이 있는데 바로 아래와 같다.
  1. 대소문자가 구분되며 길이에 제한이 없다. (의미를 이해할수 있는 길이 정도)
    • True와 true는 서로 다른 것으로 간주된다.
  2. 예약어를 사용하면 안 된다.
    • true는 예약어라 사용할 수 없지만, True는 가능하다.
  3. 숫자로 시작해서는 안 된다.
    • top10은 허용하지만, 7up은 허용되지 않는다.
  4. 특수문자는 '_'와 '$'만을 허용한다.
    • $harp는 허용되지만, S#harp은 허용되지 않는다.

예약어란 키워드 또는 리져브드 워드 (reserved word)라고 하는데,
클래스나 변수, 메서드 이름으로 사용할 수 없다.

goto와 const는 실제로 사용되지 않으며, JDK1.4부터 assert라는 키워드가 추가되었으며
enum은 JDK1.5부터 새로 추가되었다.

자바 코드 규칙 (Java Code Convention)

  • 필수적인것이 아니지만 자바 개발자들에게 권장하는 규칙들이 있다.
  1. 클래스 이름의 첫 글자는 항상 대문자로 한다.
    • 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.
  2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다. (java Bean rule)
    • lastIndexOf, StringBuffer
  3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.
    • PI, MAX_NUMBER

참고
자바에서는 모든 이름에 유니코드에 포함된 문자를 사용할 수 있지만, 적어도 클래스 이름은 ASCII코드
(영문자)로 하는것이 좋다. 왜냐하면, 유니코드를 인식하지 못하는 운영체제도 있기 때문이다.

  • 또한, 변수의 선언문에 주석으로 변수의 대한 정보를 간략히 적는것도 좋은 생각이다.
profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글