들어가며자바에서 동적으로 배열의 크기를 변경하기 위해 배열 대신 List를 사용하곤 한다. 그런데 클래스 선언 문법에 로 되어있는 코드를 보았을 것이다. 이걸 제네릭(Generic) 이라고 부르며, 제네릭 파라미터는 꺽쇠안에 포함하여 전달한다. 제네릭이 하는게 무엇이고, 왜 사용할까? 한번 알아보자. 제네릭 (Generics) 이란? ArrayList list = new ArrayList(); 제네릭(Generics)는 다양한 타입의 객체를 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크(compile-time type check)를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하면, 객체의 타입 안정성을 높이고, 형변환의 번거로움을 줄여준다. 쉽게 말하면, 제네릭스를 사용하면 다루고자 ..
들어가며JAVA에서 this와 this()는 비슷하게 생겼지만 엄연히 다르다. 어떠한 차이가 있는지 예제 코드를 통해 이해해보자. this생성자의 매개변수의 ≠ 이름 인스턴스 변수의 이름class Car { String color; String gearType; int door; Car(String a, String b, int c){ color = a; gearType = b; door = c; } public static void main(String[] args) { Car c = new Car("black", "auto", 3); System.out.println(c.color); System.out.println(c.gearType); System.out.println(c.door); } } t..
개요StringBuilder sb = new StringBuilder(str);List alphabetIndex = new ArrayList();List alphabet = new ArrayList();String regex = "^[a-zA-Z]$"; // 알파벳 a~z, A~Z로 시작하는 문자 1개for (int i = 0; i 입력한 문자열을 문자 단위로 순회하면서 정규식과 일치하는지 확인하고 일치하는 부분은 각각의 리스트에 추가하는 과정을 구현한 코드이다. 처음에는 if문에서. equals(regex)를 이용해서 문자열의 참/거짓을 비교하였다. a%b를 입력했을 때 순서대로 true(a), false(%), true(b)를 예상했지만, 정규식과 일치함에도 조건식의 반환값이 모두 false가 ..