일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- mp4fpsmod
- 코루틴 컨텍스트
- k8s #kubernetes #쿠버네티스
- 개성국밥
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- Value too long for column
- JanusWebRTCGateway
- 오블완
- kotlin
- VARCHAR (1)
- python
- 겨울 부산
- JanusWebRTC
- 깡돼후
- 자원부족
- table not found
- pytest
- terminal
- taint
- 달인막창
- tolerated
- 코루틴 빌더
- Spring Batch
- PersistenceContext
- JanusWebRTCServer
- 티스토리챌린지
- vfr video
- PytestPluginManager
- preemption #
- JanusGateway
목록Programming Language (47)
너와 나의 스토리
중첩 클래스(Nested Class) 어떤 클래스가 특정 클래스와만 관계를 맺을 경우에는 특정 클래스 내부에 해당 클래스를 선언하는 것이 좋다. 중첩 클래스를 사용하면 멤버들을 서로 쉽게 접근할 수 있다. class ClassName { class NestedClassName { } } 중첩 인터페이스(Nested Interface) 인터페이스를 클래스 내부에 선언하는 이유는 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위해서다. class ClassName { class NestedInterfaceName { } } 중첩 클래스 멤버 클래스: 클래스의 멤버로서 선언되는 중첩 클래스 멤버 클래스는 클래스나 객체가 사용 중이라면 언제든지 재사용이 가능하다. 인스턴스 멤버 클래스의 경우 인스턴스 ..
Static Static 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메서드를 말한다. public class Calculator { String mutableStr; static int num = 3; void setMutableStr(String str){ this.mutableStr = str; } String getMutableStr(){ return this.mutableStr; } static int plus(int x, int y){ return x+y; } } 위와 같이 작성된 클래스는 다음과 같이 사용할 수 있다. 인스턴스 필드를 사용하지 않아도 된다면, 정적 메서드로 선언하여 사용 int initNum = Calculator.num; int res = C..
Abstract(추상) 실체 간의 공통되는 특성을 추출한 것 예: 새, 곤충, 물고기 등의 실체에서 공통되는 특성 -> 동물 추상 클래스 public abstract class ClassName { // 필드 // 생성자 // 메서드 } 추상 클래스는 new 연산자를 이용해서 객체를 만들지 못하고 상속을 통해 자식 클래스만 만들 수 있다. 예: public abstract class Animal { public String kind; public Animal(String kind){ this.kind = kind; } public void sound(){ System.out.println("동물이 내는 소리"); } } public class Dog extends Animal { public Dog(St..
어노테이션(Annotation)이란? 어노테이션은 메타데이터(metadata)라고 볼 수 있다. 메타데이터: 애플리케이션이 처리해야 할 데이터가 아니라, 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보. 어노테이션의 세 가지 용도 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공 예: @Override 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 실행 시(런타임 시) 특정 기능을 실행하도록 정보를 제공 어노테이션을 정의하고 적용해보기 정의: @interface를 사용해서 정의 public @interface AnnotationName { } 이렇게 정의한 어노테이션은 다른 곳에서 '@AnnotationName' 형태로 사용할 ..
싱글톤(Singleton) 하나의 클래스로부터 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우가 있다. 이때, 유일하게 생성된 이 객체를 싱글톤이라고 한다. 싱글톤을 만들려면 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 한다. 방법: 생성자 앞에 private을 붙이면 된다. 그렇다면 객체 한 번은 어떻게 생성하는가? 클래스 내에 해당 클래스 타입을 가지는 static field를 선언 및 초기화해준다. 이 static field를 리턴하는 static method를 생성한다. 예: public class ClassName { private static ClassName singleton = new ClassName(); private className(){} sta..
Static Block Static field는 보통 선언과 동시에 초기값을 준다. 예: static double pi = 3.14159; 하지만 초기값으로 주려는 값이 복잡한 계산이 필요한 경우가 있다. 예: info public class Television { static String company = "Samsung"; static String model = "LCD"; static String info = company + '-' + model; } 이런 경우 static block에서 초기화를 진행할 수 있다. Static block은 클래스가 메모리로 로딩될 때 자동적으로 실행된다. public class Television { static String company = "Samsung"; ..
자바의 데이터 타입 Primitive type(원시 타입) 정수, 실수, 문자열, 논리 리터럴을 저장하는 타입. 실제 값을 변수 안에 저장. Reference type(참조 타입) 객체(Object)의 번지를 참조하는 타입. 배열, 열거, 클래스, 인터페이스 타입을 말한다. 메모리의 번지를 값으로 변수에 저장. 변수는 stack 영역에 생성되고, 객체는 heap 영역에 생성된다. 참조 타입 변수는 heap 영역에 저장된 객체의 주소를 갖는 것. 메모리 사용 영역: JVM이 사용하는 메모리 영역 java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역(Runtime Data Area)을 사용한다. 이 메모리 영역을 다음과 같이 세부 영역으로 구분해서 사용한다. 메소드 영역(Method..
1. if문 if(조건식){ // ... } else { // ... } 2. switch문 public class SwitchExample { int num = (int)(Math.random()*4) + 1; switch(num){ case 1: // ... break; case 2: // ... break; case 3: // ... break; default: // ... break; } } Math.random(): [0.0, 1.0] 사이에 속하는 double 타입의 난수를 리턴한다. switch(변수)의 변수에 해당하는 case가 실행되고, 변수 값이 case에 없으면 default 부분이 실행된다. break;를 작성해주지 않으면 해당 case부터 하위 코드가 모두 실행된다. 3. for문..