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-08 문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. 출력 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다. Source Code import java.util.Scanner; public class TemplateA { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int ..
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의 기능은 어노테이션을 붙일 수 있는 대..