공부의 기록/자바 풀 스택 : 수업내용정리

자바 풀 스택 12/13 오전 기록 017-1

파티피플지선 2024. 12. 13. 14:43

8:30 경 학원 도착, 

 

9:30 1교시

GIT은 폴더의 스냅샷을 찍어서 그 안에서 일어나는 일들을 관리함.

git init을 통해 .git 폴더가 생기고 그 폴더 안에서 일어난 일들이 모두 저장되고 git으로 관리됨.

.git 폴더를 지우면 git으로 관리하지 않는 폴더가 됨.

 

 

git bash에서는 LINUX 명령어인 ls를 사용해서 현재 폴더의 내용을 확인할 수 있다.

ls 명령어에 -l을 추가하면 현재 폴더의 파일들을 확인할 수 있고, ls 명령어에 -al을 추가하면 숨긴 파일까지 모두 확인할 수 있다.

git status를 입력하면 현재 git에 의해 관리되는 폴더나 파일의 상태가 나타난다. 

처음 보는 파일은 Untracked files라고 나타나고 빨간 글씨로 나타남.

git add를 누르면 git이 관리하는 폴더의 내용이 stage에 올라가게 된다.

stage에 올라간 애들만 commit 되기 때문에 원하는 것만 사진을 찍을 수 있으나, 보통 모든 것을 올리려고 해서

git add .

을 입력해서 모든 것을 stage에 올린다고 이해하면 된다.

(git add .의 쩜은 all 과 같은 의미라고 보면 됨. SELECT * from emp랑 비슷한 녀석인듯)

Stage에 올라간 파일은 git 에 의해 '아 그래, 나 너 이제 알아' 상태라는 의미로 초록색으로 나타난다.

Stage에 올라간 애들만 스냅샷으로 찍힐 수 있는 기회를 갖는다.

결혼식 끝나고 사진 찍는 상황 생각하면 된다. 무대 위에 올라간 애들만 찍힌다.

git commit -m 이라는 명령어와 함께 이번에 저장할 스냅샷의 아이디를 저장한다고 이해하면 된다.

 

commit 을 하는건 스냅샷을 만드는 것이다.

 

 

 

 

 

git 명령어 기능
init 파일에 git 실행하기
add stage에 올리기
commit 스냅샷 찍기
checkout 브랜치 이동
branch 브랜치 포인터 관련 작업

 

 

 

<10:30 2교시>

자바 논리 연산자 연습

 

 

자바 삼항연산자 연습

 

Class의 역할

 

 

 

<11:30 3교시>

객체를 찍어내는 방법
new 라는 예약어와 클래스명 소괄호 쓰면 됨

new Car()  -> 이게 만들어지면서 id 값(주소값, 참조값 다 동의어)이 부여되고
이걸 어딘가 변수에 저장을 해놔야 하는데
그때 변수를 선언할 때 클래스명을 데이터 타입으로 사용한다.
Car c1 = new Car()
패키지 명이 무한대로 많을 수 있는 수많은 클래스들의 고유한 식별값으로 활용된다.

Car라는 클래스 명이 자바 스크립트에서 하나의 오브젝트의 기능을 하고
그 하위의 데이터 저장소 필드들이 (자바스크립트의 오브젝트의 key값을) 저장하는 저장공간이 되고
찍어진 new Car()에 value들이 저장되면 됨
소괄호 부분은 클래스의 생성자 부분임 함수 call 이 아닌거라고만 일단 알고 가자

 

더보기
package test.mypac;
/*
 * class의 역할
 * 1. 객체의 설계도 역할
 * 	-객체는 heap 영역(사물함)에 들어있는 물건이라고 생각한다
 * 	- class를 이용해서 객체를 원하는 시점에 원하는 갯수만큼 만들어낼수있다
 * 	- 만들어진 객체가 어떤 저장소와 어떤 기능을 가지게 할지 class로 설계 할 수 있다
 * 2. data type의 역할
 * 3. static 필드와 메소드를 포함하는 역할
 */
public class Car {
	//데이터의 저장소(field): 필요한 정보들이 담길 공간
	public String name;//String type은 선언만하고 값을 넣지 않으면 객체 생성시 null로 초기화 됨
	public int price;//int type은 선언만하고 값을 넣지 않으면 객체 생성시 0으로 초기화됨
	//char type은 ''(빈문자열)이 기본값, boolean type은 false가 기본값;
	/*
	 * 설계도로 객체를 찍어냈을 때의 모양새
	 * 위 설계도를 이용해서 객체를 찍어 내면
	 * 사물함 안에 여러 개의 저장소 덩어리가 들어있고, //이 덩어리 하나가 new Car() 명령어의 결과물 
	 * 덩어리들 안에는 각각 name=null, price=0이 들어가 있다 
	 */
	
	//객체를 찍어내는 방법
	//new 라는 예약어와 클래스명 소괄호 쓰면 됨
	
	//new Car()  -> 이게 만들어지면서 id 값(주소값, 참조값 다 동의어)이 부여되고
	//이걸 어딘가 변수에 저장을 해놔야 하는데
	//그때 변수를 선언할 때 클래스명을 데이터 타입으로 사용한다.
	//Car c1 = new Car()
	//패키지 명이 무한대로 많을 수 있는 수많은 클래스들의 고유한 식별값으로 활용된다.
	
	//Car라는 클래스 명이 자바 스크립트에서 하나의 오브젝트의 기능을 하고
	//그 하위의 데이터 저장소 필드들이 (자바스크립트의 오브젝트의 key값을) 저장하는 저장공간이 되고
	//찍어진 new Car()에 value들이 저장되면 됨
	//소괄호 부분은 클래스의 생성자 부분임 함수 call 이 아닌거라고만 일단 알고 가자
	
}

 

package test.main;
//Ctrl+Space를 이용해서 원하는 클래스를 자동으로 import 할 수 있다.
import test.mypac.Car;

public class MainClass01 {
	//run 했을 때 실행의 흐름이 시작되는 main() 메소드
	public static void main(String[] args) {
		//new Car();라고만 하면 에러나고
		//new test.mypac.Car();라고 하면 알아차리는데
		//패키지명이 길 때는 맨 상단에 import라는 기능을 활용해서 import test.mypac;
		//근데 그러면 모든 패키지에 어디에 어느 클래스가 있는지 알아야 한다?
		//그래서 일단 new Car 입력하고 ctrl+space 하면 자동으로 import 된다
		
		//Car 클래스로 객체를 생성하고 그 객체의 참조값을 c1이라는 지역변수에 담기
		Car c1= new Car();
		//Car 클래스로 객체 생성하고 그객체 참조값을 c2라는 지역변수에 담기
		Car c2=new Car();
		//Car 클래스로 객체 생성하고 그객체 참조값을 c3라는 지역변수에 담기
		Car c3=new Car();
	}
}

 

 

 

 

클래스의 필드 값 변경하기

 

 

 

<12:30 4교시>

차 모름.. 대충 들어본거랑 아무 값이나 넣음

 

 

자바에서는 유니티에서 했던거랑 다르게 하나의 클래스 페이지에 여러 개 클래스 선언하는게 안된다.

(어찌보면 당연한거 같기도....class 파일을 만들었다는거 자체가 1개 클래스당 하나의 클래스만 만들라는거겠찌...)