본문 바로가기

전체 글134

Thread (멀티 스레드) Thread의 정의와 이해 Thread의 사용방법은 2가지가 있다. -Runnable 인터페이스 구현 -Thread 클래스 상속 Thread의 주요 메소드 start() - Thread 클래스 실행 (static)currentThread() - 현재 스레드를 반환 getName() - 스레드 이름 반환 (static)sleep() - 스레드를 잠시 멈춤 yield() - 스레드 실행을 다른 스레드에게 양 join() -해당 스레드를 우선 실행 Thread의 예제 -Runnable 인터페이스 구현 public class ThreadTest implements Runnable { int num; @Override public void run() { for(int i = 1; i throws 가 던져져있어 t.. 2023. 11. 30.
정규표현식 regex ; 정규표현식 이란? =>문자열이 정해진 패턴으로 구성되어 있는지 검증해야 할 때, 사용한다. ex) 이메일 , 전화번호 ; \ , () , ? , * , + , {n} , {m, } , {m,n} . [] [^] ^ $ ( ) \w \W \s \S \d \D 자주 쓰는 패턴!! \\d{3} => 연속된 숫자 3개를 찾음 \\w => '_' 와 영문자와 숫자 1개를 찾음 \\w+ => 문자 여러개 [0-9] -> 0-9 사이 숫자를 하나 찾음 [a-z] -> a-z 사이 소문자를 하나 찾음 [A-Z] -> A-Z 사이 대문자를 하나 찾음 \\. \\[ \\? => .[? 등 특정 문자를 찾 정규표현식의 주요 메소드와 설명 Pattern 클래스와 Matcher 클래스 기본사용법 -> Pattern p = Pa.. 2023. 11. 30.
익명객체와 람다식(Stream) 익명객체 (람다식의 전제조건) 인터페이스 Car, 익명객체를 사용 interface Car { public void run(); } public class Garage { //Car인터페이스를 상속받는 클래스(딱 한번만 사용하고, 더이상 사용하지 않을 클래스는 익명객체로 생성할수 있습니다) public Car car = new Car() { @Override public void run() { System.out.println("this is pride"); } }; } public class MainClass { public static void main(String[] args) { Garage g = new Garage(); g.car.run(); } } 익명객체가 없을 때 (Pride로 구현) p.. 2023. 11. 30.
API - IO( InputStream - OutPutStream) Stream은 두가지로 나뉜다. byte기반 ,문자 기반 => 오직 문자만 보낸다 Byte기반 => 그림 , 문자 등 모든 종류의 데이터 File -> FileInputStream -> FileOutputStream OutPutStream의 주요 메소드 Write(byte b) - 출력 스트림으로 1바이트씩 보냄 Write(byte[] b) - 출력 스트으로 주어진 바이트 배열 b의 모든 바이트들을 보낸다 -> 속도가 더 빠름 OutputStream 예제 public class OutputStreamEx { public static void main(String[] args) { /* * 1. 파일을 쓸때 사용하는 클래스는 FileOutputStream클래스 입니다. * 2. 1byte기반으로 데이터를 .. 2023. 11. 29.
Java.API(Collection Framework) -generic , List , Set , Map Generic(제네릭) - 제네릭이란 클래스나 인터페이스 선언에 유형 매개변수가 들어있는 클래스를 뜻합니다. - 제네릭 타입은 클래스 또는 인터페이스 이름 뒤에 ""부호가 붙고, 그 사이에 파라미터가 위치합니다. - 자바 5 버전부터 제네릭이 도입된 이후에는 제네릭 기능으로 인해 클래스에 원하지 않는 데이터형이 들어가는 것을 방지 할 수 있고, 반대로 값을 가져올 때도 형 변환을 하지 않게 되었습니다. - 제네릭은 형 안정성(type safety)을 위해 사용합니다 public class Baisc { public static void main(String[] args) { //자바를 사용하다보면 ? 라고 하는 제네릭 문법이 보일 때가 있다. //List = 리스트 타입이라면 무엇이든 다 들어갈 수 있음.. 2023. 11. 24.
API - java.lang - Object , System(운영체제) , StringBuffer , Math , Wrapper Object public class Person /*extends Object*/ implements Cloneable { private String name; public Person(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } //오버라이딩 - 객체안에 변수를 빠르게 확인하기 위해서 오버라이딩해서 많이 사용함 @Override public String toString() { return "Person [name=" + name + "]"; } //오버라이딩 - obj가 Person인 경우, 매개변수의 name과 나.. 2023. 11. 24.