💡 프로그래밍의 3대 요소
변수, 자료형(DataType), 할당(=)
1+1=2
이러한 계산은 메모리에서 진행된다.
기억공간이 필요하다.
기억공간이 필요하면 이 기억공간에 이름이 있어야 한다.
이러한 기억공간을 대표하는 이름을 변수라고 한다. variable or symbol name
공간이라고 하면
1. 크기가 고려 되어야 한다.
2. 어떤 종류의 Data를 저장 할 것인가 결정해야 한다.
어떤 종류의 데이터로 저장 할 지에 대해서 구분하기 위해 만들어 놓은것이 ' 자료형 ' 이다.
자료형 즉 Data Type
이 type을 어떻게 만들었을까?
정수 int
실수 float
문자 char
참거짓 boolean 등의 자료형이 있다.
자료형의 종류와 변수의 이름으로 변수를 선언 해 줘야 메모리에 기억공간이 만들어 진다.
int a; ➡ 변수 선언(메모리에 기억공간을 할당 받음)
이렇게 a,b,c 를 선언하면 메모리에 a,b,c 라는 기억 공간이 생기게 된다.
이때 int 의 경우는 4byte 크기로 공간을 할당 받는다.
각 자료형은 크기와 종류 를 정의해주는 역할을 한다.(int의 크기는? 4byte , 종류는 ? 정수형)
이처럼 Type이 정해져야 기억공간을 쓸 수 있다.
a,b,c 라는 int Type의 변수를 선언해 주고
각 변수에 자료형의 종류에 맞게 정수를 넣어준다
그러면 그 정수 값이 메모리에 들어가며 c 의 값을 구할 수 있다.
모든 프로그램을 짜기 위해서는 변수, 자료형, 할당(=) 이 있어야 한다.
변수가 있고 크기와 종류를 정해주는 자료형이 있으며 데이터를 저장할 수 있는 할당이 있어야 한다.
기본적인 원시 자료형.(primitive data type) :컴파일에서 기본적으로 제공해주는 자료형
💡 각 원시 자료형의 특징.
float
여기서 float a; 를 선언했을때
a=23.4 라고하면 오류가 난다. java에서는 기본적으로 이러한 데이터 형태를 double형으로 판단한다.
따라서 float 의 경우에 23.4f 를 붙여줘야 한다.
char
char b;
b='a'; char 데이터 형 같은 경우는 따음표를 사용해줘야 한다. 쌍따음표를 쓰면 안됨
쌍따음표는 String 이라는 문자열을 저장할 떄 사용한다.
boolean g;
g=true; 여기서 boolean 의 true는 참 false 는 거짓이다.
💡객체 자료형
이러한 자료형 만으로는 데이터를 표현하기 어렵다.
따라서 다음의 원시 자료형과 더불어 다음의 자료형을 사용하기도 한다.
사용자정의자료형(UDDT) 다른말로 객체 자료형(Object DataType)라고 한다.
이러한 새로운 자료형은 class 라는 도구로 만들 수 있다.
여기서 부터 객체 지향 프로그래밍 이라고 할 수 있다.
아니!! 난 책이라는 type을 만들어서 책 내용을 저장하고 싶어!!
라는 생각이 들면 객체 자료형을 class로 만들면 된다.
Book 이라는 클라스를 만들고
내부에
public class Book{
public static void main(String[] args) {
Stirng 책이름;
String 저자이름;
int 책가격
등등
}
}
이렇게 내가 원하는 자료형 class를 선언해서 각 정보를 메모리에 저장이 가능하다.
💡 변수 선언
a 라는 이름의 변수를 선언한다. 그 변수는 100번지의 위치에 할당된다.
변수를 선언하면 Symbol Table(변수목록표) 가 만들어 진다.
이러한 변수 목록표에서 변수 이름과 위치(번지)가 저장이 되며
그리고 나중에 a 라는 변수에 데이터를 저장(할당)하게 되면 해당 주소에 찾아가서 그 값을 저장하고
또 a 라는 변수에 저장(할당)된 데이터 값을 사용하기위해서 a 를 사용할 때 해당 주소에 찾아가서 데이터를 가져온다.
💡 할당
할당의 경우 왼쪽의 변수에 오른쪽의 값을 넣는다는 개념으로 접근하면 된다.
오른쪽에도 데이터 값을 가진 변수가 올 수 있으며 오른쪽에도 변수값이 온다면
그 변수에 저장된 데이터가 왼쪽 변수에도 저장된다
자바 기초를 더 단단하게 하기 위해 선택한 강의입니다.
출처: Java TPC (생각하고, 표현하고, 코딩하고) 대시보드 - 인프런 | 강의 (inflearn.com)
'Java > Java 활용 개념 정리' 카테고리의 다른 글
[Java] 사용자 정의 자료형(feat. 생성자 method()) (0) | 2023.02.01 |
---|---|
[Java] JVM의 Memory 활용 개념(static 유무의 차이) (0) | 2023.01.31 |
[Java] 메서드도 변수이다. (0) | 2023.01.31 |
[Java] 기본 자료형과 사용자 정의 자료형 (0) | 2023.01.30 |
[Java] 폴더만 있으면 어디에서든 이용 가능한 java 개발 환경 구축 (0) | 2023.01.30 |
댓글