blues_coding_log
[Java] 제네릭(Generic)
Java/Java 정리 2023. 6. 10. 18:23

제네릭 (Generic)이란? 제네릭이란 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 다음 코드를 보면, class Person{ public T info; } public class GenericDemo { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); } } 여기서 차이점은 각각의 인스턴스를 생성할 때 사용한 사이에 어떤 데이터 타입을 사용했는가이다. class Person{ public T info; } 여기서 info라는 필드는 T라는 데이터 타입을 갖는다. 여기서 T라는 데이터 타입은 Person이라는 클래스 옆에 안에 지정이 되어있고, 이 T라는 ..

[Java] static
Java/Java 정리 2023. 6. 9. 10:55

static public static void main(String[] args) { } 메소드를 선언할 때 나오는 static은 어떤 경우에는 붙이고 어떤 경우에는 붙이지 않는 경우가 있다. 결과부터 정리하면 다음과 같다. class method에서는 static을 붙인다. instance method에서는 static을 붙이지 않는다. 다음 코드의 예에서 그 차이를 명확히 알 수 있을 것이다. Class Blue { public void a() { System.out.println("A") } } public class InstanceMethod { public static void main(String[] args) { Blue b = new Blue(); b.a() } } a()라는 메소드는 밑에..

[Java] 향상된 for 문
Java/Java 정리 2023. 6. 8. 21:32

for문에서의 콜론(:)이 나왔을 때 자바에서 for문의 기본 구조는 다음과 같다 for("초기화";"조건식";"증감식") { "조건식이 true이면 실행되는 로직" } 하지만 다른 소스코드들을 보면 자주 다음과 같은 구조가 나온다. for(Object obj : obj2) {} for(A : B) {} 여기서 for문을 향상된 for문이라 하고 향상된 for문의 실행 방식은 B에서 차례대로 객체를 꺼내서 A에 넣는다는 의미이다. B에서 더이상 꺼낼 객체가 없다면 반복문은 실행이 종료된다. 다음 예제를 보자. class Solution { public static void main(String[] args) { int[][] queries = {{0,3},{1,2},{1,4}}; for (int[] qu..

article thumbnail
[Java] 예외
Java/Java 정리 2023. 6. 8. 15:48

예외(Exception)의 문법 예외는 프로그램을 만든 프로그래머가 상정한 정상적인 처리에서 벗어나는 경우에 이를 처리하기 위한 방법이다. try...catch는 예외에서 핵심적인 역할을 담당하는 문법적인 요소이고, 형식은 다음과 같다. try { 예외의 발생이 예상되는 로직 } catch (예외클래스 인스턴스) { 예외가 발생했을 때 실행되는 로직 } try 안에는 예외 상황이 발생할 것으로 예상되는 로직을 위치시킨다. catch 안에는 예외가 발생했을 때 뒷수습을 하기 위한 로직이 위치한다. 프래그램이 실행될 때, try 부분에서 오류가 발생하는 순간 실행이 멈추고 catch에 있는 로직이 실행된다. 뒷수습의 방법 뒷수습을 하는 인스턴스 메소드에는 대표적으로 .getMessage(), .toStrin..

[Java] 배열(Array)
Java/Java 정리 2023. 5. 23. 17:41

배열(Array)이란? 변수는 하나의 값만 담을 수 있다. 즉, 같은 데이터 타입을 갖고 있어도 오직 하나의 값만 가질 수 있기 때문에 많은 양의 데이터를 저장하기 위해서는 그 데이터의 숫자만큼 변수를 선언해야한다. 이는 매우 번거롭고, 효율적인 방법이 아니다. 이를 해결하기 위해서는 배열을 사용하면 된다. 배열의 뜻은 다음과 같다. "배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것" 배열의 선언과 생성 배열의 선언 타입[] 배열이름; 타입 배열이름[]; 둘 중 하나의 방법을 사용하여 배열을 선언할 수 있다. 배열의 생성 배열을 선언한 다음에는 배열을 생성해야한다. 배열을 생성하기 위해서는 new연산자와 함께 배열의 타입과 길이를 지정해야 한다. 생성하는 방법은 다음과 같다. 타입[] 배열이름..