Java Static
📘 Backend/Java2023. 3. 31. 14:57Java Static

📘 Static 정적 클래스 멤버라고도 하며 인스턴스에 소속된게 아니라 클래스에 고정된 멤버이다. 따라서 클래스 로더가 클래스를 로딩해서 메서드 메모리 영역에 적재할 때 클래스 별로 관리된다. 즉, 클래스의 로딩이 끝나는 즉시 static 멤버의 사용이 가능하다. Garbage Collector의 영향을 받지 않으며 Heap에 속하지 않다. 모든 객체에 메모리를 공유한다. (중요) 보통 Utils 함수를 만드는데 자주 사용 됨 (공통화) 정적 멤버가 아니면 인스턴스를 생성해야지만 호출을 할 수 있다. 프로그램 종료 시 까지 메모리가 할당된 채로 존재하기 때문에 Static을 너무 남발하게 되면 성능상 안좋다. Class Member라고 하며, Class Loader가 Class를 Loading해서 메서드..

Java Class 구조
📘 Backend/Java2023. 3. 31. 14:53Java Class 구조

📘 클래스 객체를 정의하는 틀 또는 설꼐도와 같은 의미 객체의 상태를 나타내는 필드 / 객체의 행동을 나타내는 메소드로 구성됨 하나의 클래스로부터 여러개의 인스턴스 (인스턴스==메모리에 할당된 객체); 생성 가능 클래스의 구성요소 필드 : 클래스의 속성을 나타내는 변수 메소드 : 클래스의 기능을 나타내는 함수 생성자 : 클래스의 객체 생성 이너 클래스 : 클래스 내부의 클래스 클래스 예시 차(Car) 설계도 필드(field) car.modelName = "람보르기니" car.modelYear = 2016 car.color = "주황색" car.maxSpeed = 350 메소드(method) car.accelerate() car.brake() 인스턴스 == 객체(instance) 내 차(myCar) : 설..

Java Array
📘 Backend/Java2023. 3. 31. 14:34Java Array

📘 배열 부득이하게 많은 수의 변수를 할당해야 할 때 ex: 1달동안의 일별 최고 기온 / 강수여부 = 공통점 최고기온:double / 강수여부:boolean 의 값을 가짐 이런 각 값들이 같은 타입을 가지는 경우, 배열을 사용하여 단 하나의 변수만으로 값들을 저장 및 참조가능 즉, 배열이란 동일한 타입의 값들을 하나의 묶음으로 묶은 자료 구조를 의미하며, 묶여진 값들을 배열이라고 함 배열에서의 차원이란? 배열을 사용할때 1,2차원 배열을 흔히 사용하며, 필요에 따라서는 3,4차원 배열도 만들어 사용할 수 있음 '차원'이란 배열이 중첩된 정도를 의미하며, 즉 배열이 중첩되었다 함은 배열의 요소가 또 다른 배열일 경우임 1차원 배열 - 배열의 요소가 배열이 아닌 경우 ex: { 1, 2, 3..

Java 제어문 & 반복문
📘 Backend/Java2023. 3. 31. 13:29Java 제어문 & 반복문

📘 조건문 소괄호 안에는 조건식을 넣어준다. 조건식이 참일때 실행하고자 하는 코드 작성 기본 형식 if (조건식) {} code; // 조건식이 참이면 실행 } if else 문 조건식의 결과에 따라 실행블록 선택 if의 조건식이 true면 해당 블록이 실행되고, false면 else if 조건식 검사하고 false면 else 실행 Switch 문 입력변수의 값과 일치하는 case 입력값(입력값1, 입력값2, ...)이 있다면, 해당 case문에 속한 문장들이 실행된다. case문마다 break 라는 문장이 있는데 해당 case문을 실행 한 뒤 switch문을 빠져나가기 위한 것이다. 만약 break 문이 빠져 있다면 그 다음의 case 문이 실행된다. switch(입력변수) { case 입력값1: ....

Java Operator & I/O
📘 Backend/Java2023. 3. 31. 13:17Java Operator & I/O

📘 연산자 산술연산자 (주의점) +, -, /, *, % 연산을 의미한다. 나눗셈/나머지 연산자를 사용할때는 우항에 0 이 위치할 수 없음 나눗셈 연산자를 사용할때 좌/우 항이 모두 int 형이면 그 결과도 int 형이기 떄문에 소수점 이하의 값은 버려짐 좌/우 항중 하나라도 실수 타입이 존재한다면 실수 타입이 아닌 값도 자동 형변환되어 계산됨 증감연산자 ++ 이 앞에붙으면 전위형 증감연산자 , ++이 뒤에붙으면 후위형 증감연산자 전위형 증감연산자 = 증감 연산을 먼저 수행후 그 결과값 적용 후위형 증감연산자 = 기존 값을 먼저 적용시키고 그 다음 증감연산 복합대입연산자 대소 비교 연산자 boolean을 제외한 나머지 기본 타입에 모두 사용가능 주의할 점 x가 1보다크고 5보다 작다" 를 표현할때 1 <..

Java Final
📘 Backend/Java2023. 3. 31. 13:16Java Final

📘 Final 재할당이 금지된 변수. 변수와 같이 선언-할당-사용이 가능하지만 재할당이 금지되어있음. 상수는 final이라는 키워드를 사용해 선언할 수 있으며, 관례적으로 대문자에 _를 넣어 구분하는 형태를 사용 ex) final double CALCULATOR_PI = 3.14; 상수를 사용하는 이유 프로그램이 실행되면서 값이 변하면 안되는 경우 코드의 가독성 높이기 위함 (값을 저장하고있는 상수명으로 값을 사용가능하기 때문) 코드 유지관리를 손쉽게 초기화 방법 필드 선언 시 값 할당 생성자로 초기화 Final Object 객체 변수에 final을 선언하면 그 변수에 다른 참조 값을 지정할 수 없다. 즉, 한번 생성된 final 객체는 같은 타입으로 생성이 불가능하고, 객체 자체는 변경이 불가능하지만 ..

Java String Class
📘 Backend/Java2023. 3. 31. 13:15Java String Class

📘 String 자바에서 문자열을 다루는 클래스이며, 유용한 메서드들을 많이 제공한다. " "(큰따옴표)를 사용한다. 자바는 다른타입과는 다르게 문자열만 class를 통해 다룸 class는 그 자체로 타입으로 사용될 수 있으며, 연관된 기능들을 묶을 수 있음 즉, String class = 문자열 타입이며 , 그 안에 있는 메소드들을 통해 여러 문자열 관련 메소드 사용 가능 String Type의 변수 선언 / 문자열 리터럴 할당 위의 2가지의 공통점과 차이점 class로 instance를 찍어내고자 할때 new 연산자를 사용 String 타입의 변수는 String 변수명; 으로 선언 가능 선언한 변수에 문자열을 할당하는 방법 문자열 리터럴 : 변수 = "문자열"; String 클래스의 인스턴스를 생성하..

image