⁂ Java

    [JAVA] #9-4 제네릭(Generic) 이해하기 2 - 제네릭

    1. 제네릭 이해하기 이제 본격적으로 제네릭을 이해해보자. 우린 #9-3에서 알아보았던 컬렉션 프레임워크를 사용하여 다양한 자료형이 한데 뒤섞여있는 것을 보았다. 그 때 모아둔 다양한 요소들 중에서 특정 자료형을 수집하려한다면? 그럴 때 사용하는 것이 제네릭인 것이다. 제네릭에서 사용하는 타입의 종류는 아래와 같다. 이 외에 사용자가 지정해서 만드는 타입까지 여러가지 타입들이 더 있을 수 있지만 주로 사용되는건 아래의 종류들이다. 타입 설명 Type(객체 생성 시 해당 타입으로 변환된다) Element Key Value Number - 와일드 카드 타입 파라미터를 대치하는 것으로 모든 클래스나 인터페이스타입이 올 수 있다. 또는 안에는 참조자료형이 올 수 있다 / String, Integer, Chara..

    [JAVA] 컬렉션 프레임워크 연습문제 - 명령어 안에서 .do와 .bbs 나누기

    문제) HashSet 컬렉션 프레임워크를 사용하여 command라는 이름으로 list.do=net.bbs.List read.do=net.bbs.Read write.do=net.bbs.Write 를 입력해두었다. 이제 이 내용 안에서 = 문자를 기준으로 문자열을 분리해서 = 앞의 문자열은 Key, = 뒤의 문자열은 Value로 구분해서 map에 저장하고 map의 key값들 중에서 "read.do"를 호출하면 "net.bbs.Read"가 출력되게 하라 * 풀이(배열을 사용하는 번외버전도 넣어두었다) HashSet command=new HashSet(); command.add("list.do=net.bbs.List"); command.add("read.do=net.bbs.Read"); command.add("..

    [JAVA] #9-3 제네릭(Generic) 이해하기 1 - 컬렉션 프레임워크

    1. 제네릭(Generic) 만약 어느 기사의 댓글이 저장되어있는 DB에서 10건을 가져와서 자바를 통해 프론트단에 출력시키려한다. 그럴 떄 댓글 1개씩 가져와서 프론트단에 출력을 시키는 것이 아니라 10건씩 동시에 가져와서 출력을 시키면 작업이 더 가볍고 편할 것이다. 이럴 때 사용하는 것이 바로 제네릭이다. 제네릭은 데이터들의 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법을 말한다. 위에서 말했듯 우리가 댓글을 가져올 것인데 이 안에는 String에 대한 클래스, Integer에 대한 클래스 등의 클래스의 자료형을 여러가지로 가져오고 싶다. 이 때 클래스 내부에서 지정하는 것이 아니라 외부에서 사용자에 의해 지정되는 것을 제네릭이라 말한다. 제네릭은 문자 그..

    [JAVA] #9-2 예외처리(Exception) 2 - throws

    1. throws 문법 throws문도 try ... catch문과 함께 쓰이는 문법이다. 이 throws문은 메소드를 호출할 때 예외처리를 한꺼번에 모아서 처리해주는 기능을 갖고 있다. 왜 한번에 모아서 처리를 할까. 예를 들어 메소드가 15개정도 있는 클래스가 있다고 가정을 해보자. 그런데 그 각각의 메소드에 비슷한 예외가 동시에 발생할 가능성이 있다. 그럼 우리는 메소드마다 찾아가서 try ... catch 문을 작성해야한다. 얼마나 번거로운 일인가. 그래서 사용되는 것이 바로 이 throws문이다. 이 throw문을 사용하여 한 곳에서 예외를 한번에 처리하게 되는 것이다. throw와 햇갈리면 안된다. throw는 강제적으로 예외를 발생시키는 목적이 있다. 강제로 예외를 발생시키는 이유는 예외를 ..

    [JAVA] #9-1 예외처리(Exception) 1 - try...catch...finally

    1. 예외처리 프로그램을 만들다보면 수없이 많은 오류가 발생하기 마련이다. 이는 프로그램이 잘못 작동되지 않게 하기 위한 배려일 수 있다. 하지만 때로는 이런 오류를 무시하고 싶을 때도 있고 오류가 났을 때 그에 맞는 적절한 처리를 하고 싶을 때가 있다. 여기서 오류란 문법 실수(Syntax)에 대한 오류가 아니다, 자바 클래스를 실행시킬 때(Run) 발생하는 오류를 말한다. 그럼 어떤 때에 오류가 발생할까? 지금까지 작업하면서 만났던 여러 오류들이 있다. 예를 들어 없는 배열을 불러왔을 때, 숫자를 0으로 나눴을 때 등등(문법적으론 오류가 없으나 Run이 되지 않는 오류). 그래서 자바에서는 try... catch, throw와 같은 구문을 이용해 오류를 처리할 수 있게 해주기도 한다. 이 구문을 사용..

    [JAVA] #8-6 이너 클래스(Inner Class)

    1. 이너 클래스란? 이너 클래스란 클래스 내부에서 선언된 클래스를 말한다. 주로 웹페이지를 작성할 때 사용되는 언어(.jsp / .py / .asp / .php)에서 사용된다. 방식은 간단하다. class 안에 class를 한번 더 선언하고 기본적인 class를 생성하는 것과 동일하게 inner class를 생성하면 된다. class WebProgram { String title="Java Program"; class Language{ String basic="Java, HTML, CSS, JavaScript"; void display() { System.out.println("기초수업:" + basic); } // end } // inner class class Smart{ String basic="..