프로그래밍의 3대 요소

강9·2023년 11월 9일
0

Java

목록 보기
7/71
post-thumbnail

🔖 변수, 자료형, 할당 이해하기

  • 변수(Variable) : 데이터를 저장하는 메모리 공간의 이름(Symbol)
  • 자료형(Datatype) : 변수의 크기와 어떤 종류의 데이터를 저장할 것인지 결정하는 것
  • 할당(Assign) : 변수에 데이터를 저장하는 것

변수선언 = 변수와 자료형이 만나는 것
어떠한 종류의 데이터의 형태로 저장할 것인지 결정
-> 기억공간이 만들어짐

할당 = 저장

초기화

int a = 10; // 초기화
int b; // 초기화x

💡 변수의 이름을 짓는 방법?

  • 변수의 이름은 숫자로 시작할 수 없다.
  • 대소문자가 구분되며 길이에 제한이 없다.
  • $과 _(underscore)이외의 특수문자는 사용할 수 없다.
  • 키워드(예약어)는 변수이름으로 사용할 수 없다.(ex. int, double, if, for class~ …)
    💡키워드(예약어)란? : java에서 미리 사용되는 단어

💡 변수의 종류?

  • 멤버변수(인스턴스 변수 = instance variable)
  • 클래스변수(스태틱 변수 = static variable)
  • 지역변수(local variable)
  • 매개변수(parameter, argument)

🔖 변수와 자료형의 관계 이해

💡 변수를 만들 때 고려되는 것?

  • 크기와 데이터의 종류
    자료형(Datatype) // 어느 정도의 크기로 만들 것인지? 어떤 종류의 데이터를 넣을 것인지?

  • int, float, char, boolean … : 기본 자료형 // java 자체 제공 자료

  • Book, Movie, Member … : 사용자 정의 자료형 // 사용자가 결정한 자료


💡 변수를 만들려면(메모리에 기억공간을 만들려면)?

  • 선언(declaration)을 해야한다.
    선언하는 방법을 알아야 한다.
    선언 : 자료형과 변수가 만나야 한다.
    -> 자료형 변수이름;
int a;
float b;

📌 변수에 데이터 할당 하기

  • 할당 : 병수에 지정된 데이터타입에 맞게 데이터를 저장(대입)하는 행위

L-Value = R-Value;
R-Value에 있는 값을 L-Value에 저장(대입)

L-Value = 변수
R-Value = 값

ex.

int a = 10; // 상수
int b = a; // 변수
int c = b*10; // 연산식
int d = even (c); // 메서드 호출문

📌 변수에 데이터 초기화하기

  • 초기화 : 변수를 만들고 난 후 연산을 하기 전에 값을 저장하는 행위

초기화를 하지 않으면 쓰레기값이 들어감 // 연산이 불가능

// Q. sum이라는 변수에 1부터 5까지의 수를 누적해서 출력하시오.

/*
int sum; // 초기화를 시키지 않음
sum = sum+1;
sum = sum+2;
sum = sum+3;
sum = sum+4;
sum = sum+5;
 -> error // 출력값이 15가 되지 않음 (sum을 초기화하지 않았기 때문)
*/
int sum = 0;
sum = sum+1;
sum = sum+2;
sum = sum+3;
sum = sum+4;
sum = sum+5;
 -> 출력값 : 15

🔖 변수와 심볼테이블(symbol table)

심볼 테이블이란?
변수가 만들어지면 변수를 관리하는 테이블에 변수 정보가 저장된다.

⚠️ 변수가 선언 되어야 symbol table이 생성된다.

Q. 왜? 관리를 해야하나요?
-> 변수가 메모리에서 만들어지기 때문이다.


address(번지) = 16진수로 표현됨

2진수로 표현하지 않고 16진수로 표현하는 이유
2진수 4자리 = 16진수 1자리로 표현 // 간결하게 표현됨

int a;
a = 10;

   symbol table
KEY(변수)    VALUE(번지)
a(KEY)      100(VALUE)

🔖 자료형의 종류

기본자료형(PDT-Primitive DataType) : 프로그램에서 기본적으로 제공해주는 자료형
사용자정의자료형(UDDT-User Define DataType) : 사용자가 만들어서 사용하는 자료형


1️⃣ 기본자료형(PDT)의 종류

Data Type크기데이터(종류)Default Value(for fields)
byte1byte정수0
short2byte정수0
int4byte정수0
long8byte정수0L
float4byte실수0.0f
double8byte실수0.0d
char2byte문자\u0000, null(널)
boolean1byte논리(참,거짓)false
💡char : 영어권의 문자의 경우 1byte로 표현이 가능하나, 비영여권의 문자의 경우 2byte로 표현(Java에서의 문자(char) 크기는 2byte 체계를 쓰기 때문에 깨지지 않고 저장 가능

2️⃣ 사용자정의 자료형(UDDT)(객체자료형)

  • 사용자가 만들어서 사용하는 자료형
  • Java에서 만들어서 제공해주는 자료형(=API)
    ex. String : 문자열
profile
코린이 일기

0개의 댓글