분류 전체보기
[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="..
[JAVA] #8-5 익명 내부 객체(Anonymous class)
1. 익명? 익명이란 말 그대로 이름이 없는 객체이다. 그래서 무명 클래스라고 부르기도 한다. 이 게시물에서는 인터페이스 안에서 사용되는 익명 내부 객체에 대해 알아보려 한다. 우선 익명을 이해하기 위해서는 이름이 없는 이유에 대해 생각해보아야 한다. 왜 이름이 없을까? 기억될 필요가 없다는 뜻이다. 즉, 다시 불러질 이유가 없는 일시적으로 한번만 사용되고 버려지는 객체라는 뜻이다. 만약 우리가 프로그래밍을 하는데, 단 한번만 사용될 목적의 코드인데 10만개의 데이터가 입력이 되어야한다면 어떻게 할까? 10만개의 클래스를 만들어 딱 한번만 사용하고 버릴까? 이럴 때 사용되는 것이 바로 익명 객체인 것이다. 이러한 익명 객체는 모바일 응용앱, JavaScript, jQuery 등에서 많이 사용된다 이제 익..
[JAVA] #8-4 인터페이스(Interface)
1. 인터페이스란? 인터페이스란 추상 메소드로만 구성되어있는 것. 동일한 목적으로 동일한 기능만을 수행하게끔 하는 기능이다. 이는 자바의 다형성을 극대화하여 개발코드의 수정을 줄이고 프로그램 유지 보수성을 높이는 방법이다. 기타를 만들어내는 프로그램을 제작하려 한다. 기타를 만들 때 사용되는 헤더, 넥, 바디에 대한 부분들은 전체적인 모양과 구성은 다르더라도 꼭 필요한 구성품이다. 만약 기타 제조사에 납품을 요청하는 업체가 펜더에서 스윙으로 바뀌었다고 해보자. 그리고 더 만약, 펜더와 스윙이 공통 규격의 헤더, 넥, 바디 사이즈를 사용한다고 가정해보자. 하지만 우리 프로그램은 펜더만을 위한 프로그램이기에 스윙을 만들기 위해선 프로그램을 싹 갈아엎어야한다. 만약 이 프로그램이 펜더만을 위한 프로그램이 아니..
[JAVA] #8-3 추상(Abstract)
1. 추상 이해하기 자바에선 추상 클래스, 추상 메소드가 있다. 그런데 클래스에 추상(Abstract Class)이 왜 붙었을까? 추상에 대해 이해하기 위해 이런 저런 곳을 찾아보다가 아래의 사이트가 설명을 정말 잘 해두어서 도움을 많이 받았다. 추상에 대해 이해하기 위해선 아래의 사이트에 들어가서 내용을 살펴보는 것으로 충분할 것 같다. https://limkydev.tistory.com/188 [JAVA] 자바 추상클래스란? [JAVA] 자바 추상클래스란? 추상클래스 이 글 하나로 박살내자. 추상클래스의 문법적인 특징이나, 객체생성이 되고 안되고 이런 특징들이 중요한게 아닙니다. 도대체 추상클래스가 무엇이고 왜 limkydev.tistory.com 위의 내용을 바탕으로 내 입말로 정리를 해보려 한다...