16일차 내용정리

채공부·2025년 6월 16일

오타 발생 후 commit 한 상태라면?

해결방법
1. 기존 commit을 reset(취소)하고 다시 commit
2. 오타를 수정하고 다시 commit

만약
깃허브에 이미 올라간(push) 상태라면 reset하지 않고 수정해 다시 commit하는 것이 좋다.
만약
혼자 작업하는 거라면 reset 하고 다시 commit하는 것이 좋다.

reset

현재 브랜치 포인터(HEAD에 얹힌 브랜치)를 지정한 커밋으로 이동
✅ HEAD와 함께 HEAD에 얹혀진 브랜치 포인터도 같이 내려간다

git reset 강도 브랜치명(커밋 이동)

강도

➡ 커밋만 취소할지, add까지도 취소할지, 아니면 파일 수정까지 없앨지 선택

  • --soft (부드럽게)
    작업 내용과 스테이징 영역은 그대로 유지
    → add된 상태로 커밋만 취소하고 다시 커밋 가능

  • --mixed (중간)
    default값
    HEAD와 스테이징 영역 초기화, 편집된 상태는 그대로
    → add와 커밋 취소

  • --hard (세게)
    HEAD와 스테이징 영역, 편집 상태 전부 초기화
    → 파일 수정 내용, add, 커밋 모두 삭제

커밋 이동

~ : 커밋을 기준으로 몇 칸 뒤로 갈지를 지정

~         : 한칸 뒤로
~~ or ~2  : 두칸 뒤로
~~~ or ~3 : 세칸 뒤로

과거 커밋으로 돌아가서 테스트하거나 살펴보고 싶다면❓

HEAD만 이동시키는 방법 (브랜치 포인터는 유지)

현재 branch를 분리, 해당 커밋으로 HEAD만 이동해 branch pointer은 원래 위치에 그대로 남아 있는 상태

git checkout 커밋_해시

ex) git checkout HEAD~

원격 저장소 등록

git remote add origin 저장소 주소

<해석>
remote add : 원격 저장소를 추가
    origin : 저장소의 이름 지정
             이름 마음대로 설정 가능하지만 대부분 origin으로 설정
저장소 주소 : 저장소의 위치 지정

등록한 저장소 목록 확인

git remote -v

push방법

최초 한 번만 -u 옵션을 사용해 원격 저장소를 설정
default로 push할 저장소를 지정

git push -u origin 브랜치명

이후에 어떤 원격 브랜치에 푸시할지 다시 지정할 필요 X

git push

원격저장소가 여러 개인 경우
명시적으로 다시 -u 옵션으로 설정


JAVA시작

JAVA Download ➡ WINDOW에 X64 , 압축파일로 다운 받기

Class 생성

src > test > main > MainClass.java

javaScript에서는 함수가 단독으로 존재 가능하며 함수를 변수 안에 담을 수 있다.
java에서는 메소드가 단독 존재 불가하며 class 안에 정의해야 한다.
java에서는 무조건 "" 만 가능

<MainClass.java>

public class main {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

<syso + ctrl + space + enter 하면 자동으로 System.out.println 완성>

기본 데이터 타입

변수 안에 실제 값 자체가 저장, 고유한 기능(method)를 소유X

1 byte = 8 bit

정수타입

byte와 int를 많이 사용

byte : 1바이트 (-128 ~ 127)

short : 2바이트 (-32,768 ~ 32,767)

int : 4바이트 (기본 정수 타입)

long : 8바이트 (끝에 L 붙임)

실수 타입

flaot : 4바이트 (끝에 f 또는 F 붙임)

double : 8바이트 (기본 실수 타입)

문자 타입

char : 2바이트, 하나의 문자 저장 ('A', '가' 등)

  • 65536 가지의 코드값을 가질 수 있다
    전 세계에서 사용하는 모든 문자 1글자를 표현 가능
    single quotation 을 이용해 생성
    정수값에 1:1 대응되는 char 값이 존재

논리 타입

boolean : true(참) 또는 false(거짓)

  • true, false 를 직접 쓰거나 비교연산 혹은 논리 연산의 결과로 얻어낼 수 있다

참조 데이터 타입

변수 안에는 heap 영역의 객체 주소(참조값)이 저장 , 고유한 기능(method)를 소유

String type

문자열을 다룰 때 사용하는 참조형 데이터 type
문자열 리터럴을 만들면 heap 영역에 String 객체가 생성

String name = "유재석";

고유 method

객체명.length() : 길이 return
객체명.toUpperCase(); : 영문 대문자로 return
객체명.contains() : 특정 문자열 포함 여부 return
       .
       .
       .

  • 해당 메소드를 return 한다면 method명 뒤에 해당 type이 적혀 있다
    void : 어떠한 데이터도 return 하지 않은 type

🔔 기본형 vs 참조형

기본형은 변수에 값을 직접 저장하고,
참조형은 Heap에 저장된 주소(참조값)만 변수에 저장한다.

📁 사물함(key-value) 구조를 생각하면 이해하기 쉽다

변수

데이터를 저장하기 위한 메모리 공간으로 type, 변수 name, value 로 구성
변수는 먼저 선언, 필요할 때 초기화해 사용 가능

종류

  1. 지역 변수 (Local Variable)
  • 메소드 내부에서 선언된 변수
    해당 메소드 내에서만 사용 가능, 종료 시 함께 사라짐
  1. 인스턴스 변수 (Instance Variable)
  • 클래스 내부에서 선언된 변수로 각 개체마다 별도로 존재
    객체 생성 시 메모리에 할당
  1. 클래스 변수 (Class Variable)
  • static 키워드로 선언하며 모든 인스턴스에서 값을 공유
    클래스가 메모리에 로드될 때 한 번만 생성
<정수 변수 선언>
byte iByte = 10;
short iShort = 500;
int iInt = 1000;
long iLong = 10000;
<실수 변수 선언>
float num1 = 10.1f;
double num2 = 10.2d;
double num3 = 10.3;

상수

한번 초기화된 후에는 값을 변경할 수 없는 변수
final 라는 예약어를 통해 값을 고정

<상수 선언>
final int num = 10;
num = 20; → 오류 발생!! (변경 불가)

Debuging 방법

디버깅은 코드의 흐름을 한 줄씩 따라가며 변수의 값을 확인하고 문제를 찾는 데 유용

  1. 더블 클릭 점 포인트 생성, 해당 점은 break point

  2. 디버깅 mode로 debug as → 1 JAVA application → 디버깅 시작

  3. 화살표 모양 click (Step over 버튼으로 한 줄씩 차례대로 실행)

if 문

조건이 true인 경우 코드를 실행

if(조건식){
	실행할 코드
}

예시

package test.main;

public class MainClass03 {
	public static void main(String[] args) {
		boolean isRun = true;
		
		if(isRun) {
			System.out.println("달려요");
		}
	}
}

→ "달려요" 출력된다

Git에 불필요한 파일 업로드⁉️
gitignore로 이동

.gitignore : Git이 버전 관리에서 무시할 파일/폴더를 지정하는 설정 파일

  1. 키워드 삽입, 생성 후 code 복사해서 .gitignore 파일에 code 붙여넣기

  2. git add & restore & -m & commit

  3. 새로고침 후 적용 확인

profile
학원 공부 내용 정리

0개의 댓글