[Section 1] Java의 변수

Kim·2022년 8월 30일
1

Boot Camp

목록 보기
8/64
post-thumbnail

Java

Java는 운영체제에서 독립적으로 실행이 가능한 언어다. 즉, OS에 따라 다르게 작성해야 할 필요가 없다.
또한, 객체 지향 언어로, 자바로 설계된 프로그램은 유지 보수가 쉽고 확장성이 높다.

JVM

자바를 실행시키는 도구를 JVM이라 한다. 자바가 OS에 독립적인 이유는 JVM이 있기 때문인데, JVM은 자바 코드로 작성한 프로그램을 해석하고 실행하는 별도의 프로그램이다.

JDK

자바를 설치하기 전, JDK와 JRE의 차이점에 대해 알아야 한다.
JDK(Java Development Kit) : JRE + 개발 도구
JRE(Java Runtime Environment) : JVM + 표준 클래스 라이브러리

자바 프로그램을 실행만 한다면 JRE만 설치해도 상관 없으나, 개발을 한다면 JDK를 설치해야 한다.
JDK는 OracleJDK와 OpenJDK가 있는데, OracleJDK는 오라클 회사에서 관리하는 버전이고 OpenJDK는 오픈소스다.

JAVA의 기본 문법

IntelliJ로 자바 프로젝트를 생성하면 기본적으로 아래와 같은 코드가 생성된다.

public class Main {
  public static void main(String[] args) {

  }
}

메서드

메서드란 어떤 기능을 하는 코드들을 묶어놓은 것을 의미한다.
다시 말해, 데이터를 입력 받아 해당 데이터에 일련의 처리를 가함으로써 만들어낸 결과값을 반환하는 것이다.
함수 : 특정 기능을 수행하는 코드들을 묶은 것
메서드 : class 내에 포함된 함수

메서드 정의하기

메서드는 아래와 같이 정의할 수 있다.

/*A = 반환 타입, B = 매개변수 타입, C = 매개변수 이름, D = 메서드 바디
main = 메서드 이름*/
A main(B C) {
    D
}
  • 반환 타입(A) :
    메서드는 처리한 결과값을 반환하는데, 처리 결과는 '값' 형태로 반환된다. 이를 반환값이라 한다. 정수형, 문자형 등과 같은 값의 유형을 타입 혹은 데이터 타입이라 한다.

  • 매개변수의 타입(B), 매개변수의 이름(C) :
    메서드의 결과 값은 외부에서 메서드 내부로 전달되는데, 어딘가에 저장하지 않고서는 사용할 수 없다. 이 값을 변수에 저장할 수 있는데, 변수에 저장하는 것을 할당이라 한다.
    즉, 매개변수는 메서드 외부에서 내부로 전달한 값을 할당받아 사용할 수 있게 한다.

  • 메서드 바디(D) :
    구체적으로 메서드가 어떤 기능을 수행할지에 관한 코드를 작성하는 곳이다. return을 사용해 반환할 수 있다.

아래 코드는 더하기를 수행하는 기능을 가진 메서드로 정수형(int) 값 2개를 입력받는다. 입력받은 값은 매개변수인 number1, number2에 각각 할당된다. 메서드 바디에서 return을 통해 number1number2에 저장된 값을 결과값으로 반환한다.

int add(int number1, int number2) {
	return number1 + number2;
}

메서드 호출하기

메서드를 실행시키려면 아래와 같이 호출을 해야한다.
메서드 이름에 호출 연산자 ()를 붙여 호출한다. () 안에는 매개변수에 넣어줄 값을 입력한다.
메서드를 호출하면 add() 메서드 내에서 number1에는 1, number2에는 2가 저장된다.

add(1, 2);

진입점 함수

main 메서드는 자바로 작성한 소스 코드 파일을 실행하면 가장 먼저 실행된다. 이처럼 프로그램이 실행될 때, 가장 먼저 실행되는 메서드를 진입점 함수라 한다.

public class Main {
  public static void main(String[] args) {

  }
}

의사 코드

의사 코드는 프로그래밍 언어로 코드를 작성하기 전, 무엇을 어떤 과정을 통해 만들 것인지 사람의 언어로 작성하는 것이다.

1. 3개의 종이컵을 하나씩 뒤집는다.
2. 뒤집은 종이컵에 구슬이 있다면
3. 승리한다.

위 의사 코드를 프로그래밍 언어로 작성한다면 아래와 비슷한 모양일 것이다.

for(int cupNumber=1; cupNumber<=3; cupNumber++){
	if (bead) {
		win();
	}
} 

의사 코드를 작성하면 정확히 정리된 채로 코드를 작성할 수 있기 때문이다.

변수

분류종류기본값
정수형int, long, short, byte0
실수형float, double0.0f
문자형char\u0000
논리형Booleanfalse
상수final

변수(Variable)

값이 변할 수 있는 데이터를 임시로 저장하기 위한 수단이다.
메모리에 직접 값을 저장하는 방법도 있지만, 0xf38d2a6c과 같은 메모리 주소를 식별하기 어렵고 시스템 운영에 필요한 데이터를 덮어쓸 가능성이 있어 변수를 사용하는 것이 좋다.

상수(Constant)

변하지 말아야 할 데이터를 임시로 저장하기 위한 수단이다.
재할당이 금지된 변수로, final 키워드를 사용해 선언할 수 있다.

값이 변하면 안되는 경우에 사용하기도 하지만 코드의 가독성을 높이거나 유지관리를 쉽게 하고자 하는 경우에도 사용된다.

타입

어떤 값의 유형이나 종류를 의미한다. 타입에 따라 값이 차지하는 메모리 공간의 크기값이 저장되는 방식이 결정된다.

리터럴(Literal)

리터럴은 "문자 그대로" 라는 뜻을 가진다. 프로그래밍에서의 리터럴은 문자가 가르키는 값 자체를 의미한다.
아래 코드에서 num에 할당된 1이 리터럴이다.

class Example {
	public static void main(String[] args) {
		int num;
		num = 1;
	}
}

참고 자료

자바 데이터 타입, 변수 그리고 배열


이미지 출처

프로그래밍 언어 분류

0개의 댓글