본문 바로가기
IT/Java

자바 변수 초기화와 할당, instance(member), class(static), local 변수 구분하기

by flatsun 2018. 12. 13.
반응형

변수(Variable)란?

- 프로그램에 값을 일시적으로 저장하는 공간

- 가독성을 향상시킨다


대충 이런 의미를 가지고 있는데

말만 들어서는 별로 이해가 안 간다


int i = 1;

String a = "하하";


이런 식으로 사용하곤 하는데

아까 이클립스 깔았는데 이런거 써봤자 이해가 잘 가지 않는다


그냥 그림으로 보도록 하자



먼저 이클립스에서 새 클래스를 만들어 주는데

변수 연습할 거니 VariableTest로 이름을 정하던가

아니면 hahahoho로 하던가 정한 후 


public static void main(String[] args)를 체크하고 Finish를 누르자



Finish 하고 두줄 작성해 봤는데

변수는 일단 초기화를 해야 되는데


내가 ㅁㅁ 타입의 누구요라고 지정해준다고 보면 된다

예제의 경우에는 String 타입의 a로 초기화를 한 것인데


초기화를 하지 않고 사용하려고 하면 에러가 난다

누군지도 모르는데 사용을 어떻게 하겠나


초기화는 기본형, 데이터형, 참조형으로 가능한데

byte, short, int, long, char, float, double, boolean 줄줄 써 봤자

반년동안 쓴거 생각해보면 int, String, boolean 말고는 없더라

int는 숫자

String은 문자

boolean은 True/False가 나오게 되는 정도다


어차피 저거 암기대회 할 것도 아닌데

저런 걸로 초기화를 하는구나! 하는 정도만 알아두면 되는데다

쓰다보면 금방 외워져서 이건 뭐 외울 필요도 없다


초기화를 한 다음에는 값을 넣어줘야 하는데

변수 안에 뭘 넣어놔야 사용을 하지 않겠는가


아까 초기화한 a에

a = "롤이나 하고싶다"를 입력함으로써 a 안에 값을 할당할 수 있다


이제는 값을 한번 사용해 봐야겠는데


변수에 할당된 값은

출력, 연산, 재할당이 가능하다



출력은 System.out.println 등을 사용해 콘솔 창으로 출력시키는 것이고

연산은 변수를 가지고 계산을 하거나 하는거다

그리고 재할당은 다른 변수에 변수를 넣는 것인데

이렇게 변수를 줘서 값 할당이 가능하다


이제 변수가 어디에 위치하느냐에 따라

다르게 불린다는 걸 알아야 하는데


그냥 변수가 변수지 난잡하게도 

어느 위치에 있느냐에 따라 부르는 명이 다르다



먼저 변수명을 부르면서 사람들이 영어, 한국어로 막 섞어 부르는데


한국말은 사람마다 쓰는 말이 조금씩 달라서

기껏 외워봤자 말할 때 서로 말이 안 통하기 때문에

무조건 영어로 외우는 것이 낫다


영어는 한번만 외우면 땡인데

한국말로 외워버리면 영어까지 외워버려야 하기 때문에

외우는 것도 고역이니까 영어로 한번만 외우자


제일 위에 있는 String a는 Instance(member) 변수라고 하는데

class 밑에 있는 것을 보자


class 밑에 있으면 그냥 instance(member) 변수인거다

근데 class 밑에 있는 b 변수는 무엇인가


보니 앞에 static이 붙어있다


class 밑에 있고 static이 타입 앞에 붙어있으면

그냥 존나 class(static) 변수인거다


마지막으로는 method 안에 있는 c,d 변수는 local 변수인데

noFun은 노잼 메소드, main은 Main 메소드다


근데 메소드가 뭔지 감이 안오면

class{} 가 아니면 다 메소드라고 보면 된다


정리해보자면


class class명{} 아래에 있는 변수

= instance(member) 변수


class class명{} 아래에 있는데 static이 붙은 변수

= class(static) 변수


저 두개가 아닌 변수

= local 변수

이기도 한데 method 안에 들어있는 변수는 그냥 local 변수다

class와 method를 구별해야 되는데 class는 내가 파일 만들면서 이름 지은거

method는 그 파일 안에서 이름을 지은거다


마지막으로는 주석인데



이클립스하게 무자비하게 가렌 명대사 갈기면

빨간 X가 뜨는데 이러면 Run을 시킬수가 없게 된다


아무데나 막 썼더니 에러가 나는 것이다


무자비하게 가렌 명대사 갈기려면 주석을 써야 하는데

주석을 쓰면 컴퓨터가 코드로 안 봐서 에러가 뜨지 않는다



가렌 명대사 앞에 //를 쓰니 글자가 회색으로 변하고 에러도 없어졌다

자바에서 이제 인식하지 않는다는 말인데


코드 중간중간 설명이나 필기를 해 놓을 때 주석처리를 해 놓으면 코드 관리가 간편해진다


// 는 한줄이고

/* */ 는 여러줄 주석인데


여러줄 주석은 여러줄 드래그 한 다음에 ctrl + shift + / 를 누르면 여러줄 주석이 걸린다


어제는 10분하고 도망갔지만

오늘은 뭔가 했는데

자바 초기화(int,String이 숫자 문자에 쓰는거다..), 할당, 

변수 위치에 따라 뭐라고 부르는지 정도만 알면 되겠다



이제 꿈나라로 가야되니 서러운 마음을 다잡고 꿈의 나라로 가자



반응형

댓글