본문 바로가기
수업내용

20230425 수업내용🤷‍♀️

by titlejjk 2023. 4. 25.

scr 👉 java 소스코드(Source Code)를 작성하는 공간, Source code는 text문서이고 compile 해서 class파일로 변경될 예정인 파일이다.

compile👉컴파일(Compile)은 주어진 language로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로그램으로 변환하는 프로세스이다. 컴파일러는 이 작업을 실행하는 소프트웨어입니다. 때로는이 작업을 "조립(assembling)"또는 "빌드(build)"라고도 합니다. 이 작업들은 보통 컴파일과 같은 것(예를 들면 바이너리 형식으로 패키지를 만드는 일) 이상의 작업을 수행한다.

내 컴퓨터에서 eclipse가 사용하는공간

위에 공간에서는 여기에 임의로 파일 이나 폴더를 붙여 넣기를 하면 안 된다. eclipse를 통해서만 사용하는 것이 바람직하다.

bin이란?👉 binary의 약자이다. 2진법의 2진수

▶버튼을 누르면 eclipse는 main 메소드를 찾아서 실행하려고 한다!

App들은 운영체제로 부터 process를 할당 받아야 App이 실행될 수 있다. 이때 할당받은 App을 종료하게  되면 이 process를 다시 반환한다.

 

JAVA 기본 data type

숫자

byte, short, int, long 👉 소수점이 없는 정수

float, double 👉소수점이 있는 실수

이렇게 나누는 이유는 적절한 메모리사용으로 효율적인 메모리 관리를 위해서 이렇게 나누었다.

 

논리

boolean 👉 true 또는 false을 판단하는 data type

 

자바에서 지역변수 만들기

data type 변수명 = type 과 일치하는 값 ;

 

문자 한 글자 'a'를 담는 data type

문자형 (char)

*

* - 65536 가지의 코드값을 가질수 있다.

* - 전 세계에서 사용하는 모든 문자 1글자를 표현할 수 있다.

* -single quotation을 이용해서 만든다.

public class MainClass04 {

//run 했을때 실행의 흐름이 시작되는 특별한 메서드

     public static void main(String[] args) {

           System.out.println("main 메소드가 시작되었습니다.");

//char 형 변수 선언과 동시에 값 대입하기

           char ch1 = 'a';

           char ch2 = 'b';

           char ch3 = 'c';

           char ch4 = '가';

           char ch5 = '나';

           char ch6 = '다';

           char ch7 = '@';

           }

}

char data type을 int로 형변환했을때..

char 값을 int값을 형변환했을 경우 오른쪽 value값처럼 유니코드 값이 나타낸다.

텍스트 하나하나에도 고유값이 있는데 이 것을 텍스트편집기가 문자로 나타내준 것이다. (영어, 숫자는 기본적이라 제외)

 

이렇게 

숫자

byte, short, int, long 👉 소수점이 없는 정수

float, double 👉소수점이 있는 실수

이렇게 나누는 이유는 적절한 메모리사용으로 효율적인 메모리 관리를 위해서 이렇게 나누었다.

 

논리

boolean 👉 true 또는 false을 판단하는 data type

 

문자형

char 👉 문자 한 글자 'a'를 담는 data type

이렇게 8가지가 기본형 data type이다. 직접적인 data를 가지고 있는 타입을 data type이라 한다,

 

그 외로 데이터의 참조값을 갖는 data type을 참조형 data type이라한다.

먼저 String type에 대해서 공부중..

public class MainClass05 {

     public static void main(String[] args) {

          //"김구라" 라는 String type 객체를 heap 영역(사물함)에 만들고 그 참조값을 변수에 담기

          String name = "김구라"; //name변수에 "김구라"라는 데이터값

          // name 안에 있는 참조값을 tmp 변수에 복사해 주기

          String tmp = name; //tmp변수에 name의 변수값임 "김구라"라는 데이터 값이 들어감

          // "원숭이" 라는 String type 객체를 heap 영역에 만들고 그 참조값을 name 변수에 덮어쓰기

          name = "원숭이"; //name변수에 "김구라"데이터 값에 "원숭이"라는 데이터 값을 뒤집어 씌움

          // name 변수를 비우기 (null 은 참조 데이터 type이 담길수 있는 빈 공간을 의미한다.)

          name = null; //name변수에 "원숭이"라는 데이터 값에 null값을 뒤집어 씌움

          // 결과 값으로는 name에는 null이라는 값이부여, tmp라는 변수에는 "김구라"라는 데이터 값이 들어간다.

}

  1. 처음에 name = "김구라"; 라는 name변수에 "김구라"라는 데이터값을 넣어주고.
    heap 영역에 "김구라"라는 String type의 변수가 생성 stack영역에는 name라는 지역변수가 생긴다.
  2. tmp변수에 name의 데이터값인 "김구라"라는 데이터값이 들어감
    tmp라는 지역변수가 생기고 똑같은 값인 heap영역에 있는 "김구라"라는 값음 가짐
  3. name변수에 "김구라"데이터값을 "원숭이"라는 데이터 값으로 뒤집어 씌움
    heap 영역에 "원숭이"라는 데이터값을 갖는 stack 영역의 name변수로 바뀜
  4. name변수에 "원숭이"데이터값에 null값을 뒤집어 씌움
    heap 영역에 name이라는 변수에 "원숭이"라는 heap영역의 참조값이 끊어지면서 null값으로 바뀜

문자는 String 타입이다. 위에 기본data타입은 소문자로 시작하지만 나머지는 앞이 대문자로 시작된다.

지역변수의 id 값을 알수있다.

name이라는 변수는 "김구라"라는 데이터를 갖는 것이 아니라 id = 23이라는 참조값을 갖게 되는 것이다.

name변수에 "원숭이"라는 데이터 값을 뒤집어 씌우고나면

name이라는 변수에 "원숭이"라는 데이터를 넣어봤더니 id = 29라는 참조값을 갖게 되었다.

name에 null이 들어갔다?!

저 null값이 들어간 것은 name이라는 변수에 data가 없다라는 의미이다!

메모리영역에 어떻게 적용되는지 순서대로 설명해주셨다.

지역변수 👉메소드 안에서 선언된 변수를 지역변수라 한다. 메서드 안에있는 변수를 실행할 영역을 실행 stack이라 한다.

 

기본데이터 타입들은 heap영역에 만들어 질수 없다. 그냥 지역변수에 그 값이 들어간다.

null값은 기본데이터타입에는 들어갈수 없다.

변수가 만들어지려면 어떠한 데이터 값이라도 들어가 있어야지 변수가 만들어진다.

int 타입의 기본 값은 0을 집어 넣어주면 된다.

String 타입같은 참조형 데이터 타입은 null값을 넣어주면 된다.

이렇게 선언은 되어있는데 데이터값이 아예 없다면 오류가 발생한다!
String 타입도 마찬가지
나중에 데이터 값을 변수에 넣어주는 경우(이렇게 이용하는 것은 지양함)

int, double 타입의 기본 값은 0 boolean타입의 기본 값은 false, char타입은 ' '

나머지 참조형데이터타입은 null값을 사용하면 된다.

int타입에 변수선언 후 디버깅을 통해 산술연산 값 확인해 보기
증감 연산자 공부
비교연산자 공부
대입연산자 공부
삼항연산자 공부

 

 

xxx.java 또는 xxx.class 는 보통 클래스 Class라고 부른다. 이 Class의 용도는 크게 세가지로 나뉜다.

class를 만든다 자바소스코드를 만든다.

예약어에 대한 공부

package 뒤에 test.mypac;이라 적혀있는 부분은 해당 패키지 이름과 반드시 동일해야한다.

public 이라는 의미는 공용, 공개하겠다는 의미다. 즉 public class car라는 class를 공유하겠다는 의미인데 다른 패키지에서 test.mypac패키지에 존재하는 Car라는 class를 공유해 사용하겠다는 의미이다.

 

 

'수업내용' 카테고리의 다른 글

20230427 수업내용🤦‍♂️  (0) 2023.04.27
20230426 수업내용🤦‍♂️  (0) 2023.04.26
20230424수업내용2🤷‍♀️  (0) 2023.04.24
20230234 수업내용  (0) 2023.04.24
2030421수업내용2  (0) 2023.04.21

댓글