JAVA [JAVA와 변수]

Lellow_Mellow·2021년 3월 15일
0

📚JAVA란?

자바는 1996년에 Sun Microsystems, Inc.에서 개발하고 공식적으로 발표한 객체지향 프로그래밍 언어이다.

📝JAVA의 특징

JAVA의 특징은 다음과 같다.

  • 단순하다.
  • 객체 지향 언어이다.
  • 함수형 코딩을 지원한다.
  • 플렛폼의 독립적이다.(운영체제에 독립적)
  • 분산 처리를 지원한다.
  • 견고하다.
  • 안전하다.
  • 이식성이 좋다.
  • 멀티스레딩을 지원한다.
  • 동적이다.

이 중에서도 다른 언어에 비해 중요한 특징 중 하나는 바로 운영체제에 독립적이라는 것이다. 다른 프로그래밍 언어는 CPU에 따라 기계어가 다르기도 하고 운영체제마다 사용하는 API와 메모리 관리 방식이 달라 플렛폼에 종속적이다. 하지만 JAVA는 JVM 위에서 동작하기 때문에 플렛폼에 독립적이다. 이를 "한 번 작성하면, 어디서나 실행된다.(Write once, run anywhere)"라고 표현하기도 한다.

또한 C와 C++과는 달리 사용자가 메모리를 관리해주지 않아도 자동으로 메모리를 관리해주는 자동 메모리 관리 기능이 있다. 메모리 해제를 매번 까먹었던 나에게 있어서는 좋은 소식이다.

👉JVM이 뭐야?

JVM은 Java Virtual Machine의 약자로 자바 가상 머신, 즉 자바를 실행하기 위한 가상 컴퓨터라고 볼 수 있다. 하드웨어(컴퓨터)를 소프트웨어로 구현했다고 보면 될 것 같다. JAVA로 프로그래밍한 코드는 무조건 JVM을 거쳐야 작동할 수 있다.

다른 프로그래밍 언어는 OS를 거쳐 바로 하드웨어로 가기 때문에 종속적이지만, JAVA는 OS에 맞는 JVM만 있으면 똑같은 코드를 똑같은 기능으로 구동할 수 있기 때문에 OS와 상관없이 실행할 수 있다.

📝JAVA로 프로그램 작성하기

👉Hello, World!

모든 프로그래밍 언어의 첫 장에서 다루는 내용이 그렇듯 아래 예제를 살펴보자.

package week1;

public class Hello {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// Ctrl + Space = 자동완성 단축키
		// Ctrl + F11 = 컴파일 + 코드 실행
		System.out.println("안녕 자바!!");
	}
}

다음 코드를 실행하면 안녕 자바!! 라는 문자가 화면에 출력된다.

JAVA에서는 모든 코드가 class 안에 존재해야 한다. 또한 파일명은 클래스의 이름과 동일해야한다. (더 정확히는 파일 안에 선언된 pulbic 클래스의 이름과 동일해야 한다.) 클래스의 기본 구조는 다음과 같다.

class 클래스 이름 {
	// 여기 안에 코드 작성!!
}

class 안에는 다양한 메서드가 들어가게 된다. (메서드는 쉽게 함수라고 생각하면 된다.) 이 메서드들 중 Hello 클래스 안에 있는 메서드를 main 메서드라고 한다. 기능은 C나 C++의 main과 비슷하다고 생각하면 된다. JAVA 역시 main 메서드가 애플리케이션의 시작점이다.

System.out.println은 C의 printf나 C++의 cout과 같이 화면에 문자를 출력하는 역할을 한다.

📚변수

📝변수란?

변수는 단 하나의 값을 저장할 수 있는 메모리상의 공간을 뜻한다. 변수의 선언과 초기화는 C나 C++과 똑같다.

int a = 10;

앞에는 변수 타입을, 뒤에는 변수 이름을, 그리고 대입 연산자(=)를 이용해 10이라는 값으로 변수 a를 초기화해주는 형태이다. 대입 연산자는 오른쪽의 값을 왼쪽에 저장하라는 뜻으로 왼쪽에는 반드시 변수가 와야한다. (이는 L-value, R-value로 설명할 수 있다.)

잊지 말아야할 것은 변수를 사용하기 전 반드시 초기화를 해야 한다는 것이다. 여기서 초기화는 변수에 처음으로 값을 저장하는 것을 의미한다.

👉변수 명명 규칙

변수의 이름을 짓는데도 나름의 규칙이 있다. 그 규칙은 아래와 같다.

  1. 대소문자가 구분되며 길이에 제한은 없다.
  2. 예약어(Keyword)는 사용이 불가능하다.
  3. 숫자로 시작할 수 없다.
  4. 특수문자는 언더바(_)와 달러($)만 가능하다.
  5. "+" "-" 등 연산자를 포함할 수 없다.

또한 나중에 프로그래밍을 하면서 일반적으로 통용되는 관례가 있다.

  1. 변수와 메서드는 모두 소문자로 표기 (단, 대소문자를 구분하지 않는 언어에서는 언더바로 구분), 복합 단어(두 가지 이상의 단어가 합쳐진 이름)일 경우는 두 번째 단어의 첫 자만 대문자로 표기
  2. 클래스와 인터페이스는 첫 자만 대문자로 표기하고 나머지는 소문자. 복합 단어일 경우 변수와 동일
  3. 상수는 전체를 대문자로 표기, 단 복합 단어일 경우 단어를 언더바(_)로 연결

이를 어느 정도 습관화하면 다른 코드를 볼 때나 다른 사람이 내 코드를 볼 때 도움이 될 것이다.(아마...?)

👉변수 타입

자바의 자료형(타입)에는 기본형참조형으로 나눌 수 있다. 기본형은 계산을 위한 실제 값을 저장하는데 쓰이고 모두 8개이다. 참조형은 이에 반해 객체의 주소를 저장하는데 쓰이며 앞의 8개를 제외한 나머지가 이에 해당된다.

기본형에는 아래와 같이 총 8개가 있으며 이는 크게 4가지로 나눌 수 있다.

<형으로 나눌 경우>
1. 정수형 : byte, short, int, long
2. 실수형 : float, double
3. 문자형 : char
4. 논리형 : boolean

<메모리 크기로 나눌 경우>
1. 1byte : boolean, byte
2. 2byte : char, short
3. 4byte : int, float
4. 8byte : long, double

범위는 전부 기억할 필요는 없고, 정수형은 n byte일 경우 2^(n-1) ~ 2^(n-1)-1 의 범위를 갖는다는 점만 기억하면 될 것 같다.

문자형은 유니코드로 문자 하나를 저장하기 때문에 2byte이며 C++과는 달리 한글도 저장이 가능하다.

논리형은 true 혹은 false를 저장하는 타입으로 논리적으로 참 혹은 거짓을 가릴 때 사용된다.

profile
잔잔한 물결에서 파도로, 도약을 위한 도전. 함께하는 성장

0개의 댓글