개발언어
-
Java - Object4개발언어/JAVA 2023. 10. 17. 11:19
static 변수 여러 클래스에서 공통으로 사용하는 변수를 'static 변수'로 선언한다. static 변수의 정의와 사용방법 static 변수란 다른 용어로 '정적 변수'라고 한다. static 변수는 자바뿐만 아니라 언어에서도 비슷한 개념으로 사용하고 있는 변수로서 자바에서는 다른 멤버 변수처럼 클래스 내부에 선언한다. 변수를 선언할 때 다음과 같이 자료형 앞에 static 예약어를 사용한다. static 변수는 클래스 내부에 선언하지만, 다른 멤버 변수처럼 인스턴트가 생성될 때마다 새로 생성되는 변수가 아니다. static 변수는 프로그램이 실행되어 메모리에 올라갔을때 딱 한 번 메모리 공간이 할당된다. 그리고 그 값은 모든 인스턴스가 공유한다. 다시 설명하면 일반 멤버 변수는 인스턴스가 생성될 ..
-
Java - Object3개발언어/JAVA 2023. 10. 16. 17:45
💡tip) 접근제어자 접근 제어자 설명 public 외부 클래스 어디에서나 접근할 수 있다. protected 같은 패키지 내부와 상속 관계의 클래스에서만 접근할 수 있고 그 외 클래스에서는 접근할 수 없다. 아무것도 없는 경우 default이며 같은 패키지 내부에서만 접근할 수 있다. private 같은 클래스 내부에서만 접근할 수 있다. this 예약어 자신의 메모리를 가리키는 this this는 간단히 설명하면 생성된 인스턴스 스스로를 가리키는 예약어이다. package studythis; class BirthDay{ int day; int month; int year; // 태어난 연도를 지정하는 메서드 public void setYear(int year){ // mian()의 bDay.year=..
-
Java - Object 1개발언어/JAVA 2023. 10. 16. 13:18
Java Type public class Student{ int studentID; //학번 String studentName; //학생 이름 int grade; //학년 String address; //사는 곳 } public class Person{ String name; //이름 int height; //키 double weight; //몸무게 char gender; //성별 boolean married; //결혼여부 } 참조 자료형으로 사용하는 클래스는 String,Dtate와 같은 이미 JDK에서 제공하는 것일 수도 있고, 개발자가 직접만든 Student나 Person같은 클래스가 변수의 자료형이 될 수도 있다. 패키지 패키지는 간단하게 말하면 클래스 파일의 묶음이다. 패키지를 만들면 프로젝트 ..
-
Java - 메서드 호출 시 파라미터를 전달하는 방법(Call By Value, Call By Reference)개발언어/JAVA 2023. 10. 10. 18:12
Java에서 메서드 호출시 파라미터를 전달하는 방법 메서드를 호출할 때 파라미터를 전달하는 방법에는 두 가지가 있다. 하지만 자바는 오로지 Call By Value로 만 작동한다. 1. JVM 메모리에 변수가 저장되는 위치 Java의 call by value에 대해 이해하기 위해서는 먼저 변수 생성 시 메모리에 어떤 식으로 저장되는지 알아야한다. Java에서 변수를 선언하면 Stack 영역에 할당된다. 원시 타입(Primitive Type)은 Stack 영역에 변수와 함께 저장된다. 참조 타입(Reference Type)객체는 Heap 영역에 저장되고 Stack영역에 이쓴 변수가 객체의 주소값을 갖고 있다. 2.원시 타입(Primitive Type)전달 public class PrimitiveTypeTe..
-
Git- revert, reset개발언어/Git 2023. 8. 6. 15:20
revert,reset의 필요 이유 main 브런치로 릴리즈 했는데 오류로 인해 롤백해야하는 경우 이전 커밋으로 돌아가기위해 이 명령어를 사용한다. revert,reset차이 git reset git reset --option [돌아갈 커밋] 위 와 같은 차이가 존재 하므로 온라인 remote origin에 올리지 않고 로컬 커밋만 한 상태라면 커밋을 했더라도 reset만 하면 된다. git reset HEAD^ 바로 이전의 커밋으로 되돌려준다. git revert revert는 reset과 다르게 커밋을 삭제하는 것이 아니라 커밋을 추가한다. 그러나 이전 커밋과 정반대의 데이터를 추가하는 방식으로 커밋을 되돌린다. git commit -m "1번 커밋" git commit -m "2번 커밋" git c..
-
TypeScript - Core Syntax & Feature(JavaScript와 차이점)개발언어/TypeScript 2023. 4. 16. 15:38
type에 대한 자바스크립트와 타입스크립트의 차이점 자바스크립트 type은 동적인 타입이다. 즉, 변수를 가질때 처음엔 숫자일 거라고 가정했지만 나중에 문자열이 그곳에 할당 되어도 완전히 괜찮다. 그리고 그것이 typeof 연자자를 가지는 이유다. typeof연산자를 가지므로써 런타임 도중 당시의 type을 확인할 수 있다. 반면 타입스크립트는 type 정적이 타입이다. 즉 개발 도중 변수와 매개변수의 타입을 정의 하는 것을 끝낸다. 런타임 도중에 갑자기 정의한 type이 변하지는 않는다. 물론 타입스크립트는 결국 자바스크립트로 컴파일 되기 때문에 이론적으로 그럴수도 있다. 타입스크립트를 사용할때는 정의 당시 숫자형이여야 한다고 설정했던 변수에 문자열을 할당하면 개발 도중에 Error가 발생한다. 때문 ..
-
TypeScript - Core Syntax & Feature(Core Type)개발언어/TypeScript 2023. 4. 16. 14:05
Core Syntax & Feature 타입스크립트가 어떤 type을 제공하고 지원하는지 type들로 작업하는 방법 type을 할당하는 방법 type을 사용하면 얻어지는 이점 Core Types 타입스크립트는 자바스크립트에 덧붙여 더 많은 type을 제공한다. 또한 타입스크립트는 사용자가 정의한 사용자정의의 type도 작성하고 사용할 수 있게 해준다. 우선 자바스크립트가 가진 핵심 타입부터 시작해 자바스크립트와 타입스크립트에 각각 어떤 type이 지원되는지 두 언어 사이에 차이점이 의미하는 바를 알아본다. number 자바스크립&타입스크립트에서 사용하는 핵심타입 중 하나는 number(숫자형)이다. 두개의 언어에서 number type은 하나 뿐이다. 정수형이나 실수형을 세분화 나누는 타입은 존재하지 않..
-
JavaScript - nullish coalescing(널 병합)/ Optional Chaining개발언어/JavaScript 2023. 4. 15. 16:06
ES2020에서 추가된 ?? (널 병합(nullish coalescing)) 연산자와 ?. (옵셔널 체이닝(optional chaining)연산자 이다. 널 병합 연산자 &&(and)연산자 ture 값 일때 뒤로 넘어간다. const a1 = 'a' const b1 = a1 && 3; console.log(b1);//3 const a2 = 0 const b2 = a1 && 3; console.log(b1); //0 널 병합 연사자는 주로 ' || ' 연산자 대용으로 사용되며, falsy 값 (0, ' ' , false, NaN, null, undefined) 중 null과 undefined만 따로 구분한다. const a = 0; const b = a || 3; // ||연산자는 falsy값이면 뒤로 ..