2021-02-10 여러 개의 스레드를 사용하다 보면, 스레드 간의 이름이 혼동되는 상황이 발생할 수 있다. 이 경우를 대비하여 스레드 간의 이름을 설정하는 방법이 존재하는데 오늘은 이와 같은 방법을 알아보자. 예제 스레드 2개 package Thread; public class Thread_A extends Thread{ public Thread_A() { setName("Thread_A"); } @Override public void run() { for(int i = 0; i < 5; i++) { System.out.println("상속받은 Thread_A 클래스가 실행 중 입니다."); } } } 스레드는 총 2가지 스레드를 사용할 것이다. 하나는 클래스에서 Thread를 상속받아 구현한 스레드(..
2021-02-09 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. (출처 : 위키피디아 ) 즉 기존의 싱글 스레드가 아닌 멀티스레드를 사용하기 위해서 이와 같이 따로 스레드를 만들어주어야 하는데, 오늘은 그 방법을 알아보자. 방법 1.람다식으로 Runnable 구현하기 package Thread; public class main { public static void main(String[] args) { Thread thread1 = new Thread(()-> {..
2021-02-07 자바에는 열거형이라는 enum이라는 것이 있다. 이는 자바의 3 요소로 불리기도 한다. ( class / Interface / enum) 오늘은 이 enum을 만드는 방법을 간단히 알아보도록 하자. (기준은 eclipse로 설명하겠다.) enum 만들기 만드는 방법은 간단하다. 기존의 class와 interface를 만들듯이 package 우클릭 - > new -> enum을 클릭해 생성하면 된다. 그러면 이제 아래와 같은 창이 뜨게되는데, 웬만해서는 그냥 default로 두고 Name만 설정해 준 뒤, Finish 버튼을 눌러 주면 된다. enum 선언하기 사실 모양은 class와 interface와는 다른 점이 없다. 다만 enum의 주요목적은 상직적인 의미를 가지는 상수를 선언해..
2021-02-06 함수적 인터페이스인 Consumer, Function, Operator는 andThen과 compose라는 메서드를 가지고 있는데, 이 두 메서드는 1 번째의 처리결과를 가지고 2 번째에 전달하여 최종 결과를 얻어내는 메서드다. 오늘이 이 두 메서드의 사용법을 알아보로록 하자. (function 이 궁금하면 아래 링크를 확인하자) seeminglyjs.tistory.com/210 [Java] 람다식 Function에 대하여 알아보자! 2020-12-28 Function 인터페이스는 apply 메서드를 가지고 있으면 매개 값과 리턴 값 모두를 가지고 있다. apply 메서드는 매개 값을 리턴 값으로 맵핑하는 역할을 하게 된다. 그러면 구체적인 사용법을 seeminglyjs.tistory..
2021-02-05 어노테이션의 선언 중 @Target이라는 기능이 있다. 이는 해당 사용자가 만든 어노테이션이 부착될 수 있는 타입을 지정하는 것이다. (타입이란? -> 클래스 / 생성자 / 메서드 등등...) 오늘은 이 @Target을 지정하는 방법을 알아보도록 하자. - 어노테이션 선언코드 package aAnotation.Target; import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.CONSTRUCTOR, //}) ElementType.METHOD, ElementType.FIELD}) // Target의 기능은 어노테이션을 붙일 수 있는 대..
2021-02-04 자바에서 Annotation이라는 주석과 같은 형태로 사용되는 코드가 있다. 흔히 상속 간에 메서드 재정의에서 사용되는 @Override가 대표적인 어노테이션이라고 할 수 있다. 오늘은 이 어노테이션의 선언과 엘리먼트 타입을 간단히 알아보도록 하자. 우선 선언하는 방법을 알아보도록 하자. package aAnotation; public @interface DefineAno { // interface 앞에 간단히 @를 붙여주면 어노테이션 인터페이스가 만들어진다. // anotation은 자신의 element 를 가질 수가 있다. int numEl() default 1; // int 형 element를 가지고 default 값은 1이다. String strEl(); // String 형 ..