본문 바로가기

java

Java 문법 - String, Arrays, Thread @markdown# String Class## String vs StringBuffer vs StringBuilder 문자 연결 비교____public class StringClassTest {public static void main(String[] args) {System.out.println("String 주소");String str = "a";System.out.println(System.identityHashCode(str));str += "b";System.out.println(System.identityHashCode(str)); System.out.println("StringBuffer 주소");StringBuffer sb = new StringBuffer();sb.append("a");S.. 더보기
Java 문법 - 추상클래스, 인터페이스 @markdown# Java 추상 클래스, 인터페이스____## Abstract- 추상 클래스는 `new`로 생성할 수 없다.- `abstract` 메소드 하나를 가지고 있다면, 반드시 해당 클래스는 추상 클래스이어야 한다. ## 클래스 형변환____1. 자동(묵시적 변환)double = int부모 = 자식2. 강제(명시적 변환)int = (int)double자식 = (자식)부모## Interface____- 7버전에서는 상수+추상메소드만 가능- 8버전에서는 default, method, static method 추가 public interface TV {int channel6 = 6; //public static final 생략한 상수public static final int channel9 = 9; .. 더보기
Java 문법 - 접근제한자 활용 @markdown# Java 접근제한자____ - `static` : class 메소드이기 때문에 Object 생성과는 무관하다.class Calculator {static double pi = 3.141592;static {pi += 10;System.out.println(pi);} public Calculator() { System.out.println("Calculator 생성자");}} - `static` 영역이 메모리에 올라오며, `static` 영역에서는 `static`만 사용 가능하다. - `static` 블록이 먼저 수행되고, 생성자는 나중에 실행된다. - `static` 블록에서는 `static`이 아닌 변수는 사용할 수 없다. - `final` 필드 : 값 수정 불가(상수) - `fin.. 더보기
Java 정규식 표현 정리 @markdown# Java 정규식 표현 정리____boolean flag = Pattern.matches("^[a-zA-Z0-9]*$", str);- 입력되는 문자, 숫자를 정해진 패턴만 입력하도록 할 수 있다. ## Java 정규식 문법_____- `^` : 문자열의 시작- `$` : 문자열의 종료- `.` : 임의의 한 문자 (문자의 종류와 관계없음)- `|` : or의 의미임- `?` : 앞 문자가 없거나 하나 있을때- `+` : 앞 문자가 하나 이상임 (최소 한개 이상)- `*` : 앞 문자가 없을 수도 있고, 무한정 많을 수도 있음- `[ ]` : 문자 클래스의 지정, 문자의 집합이나 범위를 나태내면 `-` 기호를 사용한다. `[ ` 내에서 `^`를 사용하면 `not`의 의미임- `{ }` :.. 더보기