JAVA

[JAVA와 친해지기] JAVA프로그래밍과 변수

프로그래밍과 알고리즘

 

우리는 JAVA를 이용해서 프로그래밍을 하고 있습니다! 근본적인 질문으로 프로그래밍이란 무엇일까요? 사전에 프로그래밍의 정의는 다음과 같이 서술되어있습니다!

컴퓨터 프로그래밍(영어: computer programming) 또는 간단히 프로그래밍(programming, 문화어: 프로그램 작성) 혹은 코딩(coding)은 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술을 말한다.

< 프로그래밍의 정의 : 출처 위키백과 https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D >

2번째 줄을 조금 강조해서 볼까요?

 

"하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술을 말한다."

 

오호; 그럼 여기서 프로그래밍 언어는 우리가 선택한 JAVA가 될 것이고 우리는 구체적인 컴퓨터 프로그램을 만들기 위해서 프로그래밍이라는 행위를 하는 것을 알 수 있겠죠! 그런데 앞쪽에 문제를 해결하기 위해 [추상 알고리즘]을 사용한다고 되어있습니다! 알고리즘이란 무엇일까요? 이번에는 알고리즘의 사전적 정의입니다.

알고리즘(영어: algorithm), 셈법은 수학과 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 풀어 맺기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것, 계산을 실행하기 위한 단계적 절차를 의미한다. 

< 알고리즘의 정의 : 출처 위키백과 https://ko.wikipedia.org/wiki/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 >

알고리즘은 문제해결을 위해서 사용하는 일련의 절차나 방법을 공식화한 형태라고 합니다! 알고리즘이 어떻게 생겼는지 한번 아래 그림을 보도록 할까요?

위 사진은 필자블로그의 다른 글이 WebHacking사이트 Suninatas의 1번 문제 풀이 알고리즘을 가져온 것입니다. 위와 같이 일련적으로 사용하는 문제 해결절차를 우리는 알고리즘이라고 정합니다!

 


변수와 상수

 

프로그래밍에는 어마어마하게 많은 수들이 있습니다! 위에 알고리즘만 보아도 위에서부터 2번째 그림에 str이라는 요소가 순서도 전반적으로 사용되고, 중간에는 "a"라던지 "in"이라던지, 고정된 값들이 있지요. 이런 수들은 프로그래밍에서 크게 가변성에 따라 다음의 2가지로 분류합니다.

  • 변수 : 프로그래밍을 사용하면서 변할 수 있는 수
  • 상수 : 변하지 않는 고정된 값

다음의 코드를 다들 코딩해 봅시다!

// VarConst.java

public class VarConst{

	public static void main(String[] args){
		int x = 1;			// x는 변수, 대입된 1은 상수
		int y = 3;			// y는 변수, 대입된 3은 상수
		String name = "REDUCTO";	// name은 변수, 대입된 "REDUCTO"는 상수

		System.out.println(x);
		x = y;				// 변수에는 다른 변수 대입가능
		//3 = x;			// 당연하게 상수는 대입불가
		System.out.println(y);
		System.out.println(x);
		System.out.println(name);
	}

}

Compile, 실행해보면 다음과 같은 값을 얻을 수 있습니다!

 

1
3
3
REDUCTO

* "=" 기호는 오른쪽의 값을 왼쪽에 대입하라는 의미입니다! 자세한건 다다음 시간(연산자) 편에서 계속됩니다!

main이라는 글자가 있는 줄의 바로 아래쪽 int x=3; 이라는 코드가 있습니다. int라는 단어는 넘어가고 x=3이니, 이제 우리의 변수 x는 3이라는 상수값을 가지고 있는 것입니다!


변수 명명법

 

변수 이름은 프로그래머가 작성하기 나름입니다! 특정한 합이라는 이름을 짓고 싶으면 sum이라는 변수명을 정의해도 되고, 임시 값이라는 의미를 담고 싶으면 tmp라는 이름을 사용하는 것도 전통적인 방법입니다! 단 다음의 규칙은 지켜야 됩니다!

  • 대소자는 구분되며, 변수 이름 길이에 제한은 없다.(x와 X는 다른 변수)
  • 숫자로 시작할 수 없으며, 공백은 사용불가( 3x, tmp_dd dd는 사용 불가한 변 수명 임)
  • 변수에 허용되는 글자는 대소문자, 숫자, _(언더스코어), $만 허용됨
  • 예약어 사용불가(예약어는 프로그래밍 언어에서 미리 정해둔 문법적으로 의미 있는 단어를 의미합니다.)

다음의 단어들이 변수의 이름으로 사용될 수 있겠네요!

ex > tmp, _file_name, isSetted, onClose, SUMOFSET2, m3val2

 

예약어는 다음의 글을 참고해 주세요!

2021.08.14 - [JAVA] - JAVA 예약어 종류

 

JAVA 예약어 종류

_(언더스코어) : JAVA 9부터 예약어가 되었습니다.(이제 단독으로 언더스코어만쓰는 변수명은 불가하네영) abstract : 추상클래스를 지정하는 데 사용됩니다. assert : 강한 에러검출을 위한 키워드 bool

tutoreducto.tistory.com


이번 시간에는 프로그래밍이 무엇인지, 우리가 하려는 JAVA 프로그래밍이란 무엇인지, 프로그래밍에서 사용되는 변수나 상수가 무엇인지에 대해서 알아보았습니다. 다음 시간에는 자료형이라는 주제로 또 인사드릴게요!