'자바'에 해당되는 글 3건

  1. 2020.06.30 자바 예외처리
  2. 2020.05.10 자바 Documentation, 주석
  3. 2020.05.05 자바 언어의 종류, 특징

자바 예외처리

자바 2020. 6. 30. 21:35

예외의 개념

예외

- 프로그래밍 상에서 예측이 가능한 오류 사항을 의미한다

 

- 특정 코드에 대해 오류가 날 수도 있는 사항들을 기재해 오류가 발생했을 경우 프로그램이 강제 종료되는 것을 막고 오류에 대한 처리를 개발자가 스스로 하여 프로그램이 비 정상적으로 종료되는 것을 막아주는 기법이다

 

- 자바에서는 오류가 발생할 수도 있는 코드를 사용할 경우 사용하는 쪽에서 예외 처리를 강제적으로 하도록 유도할 수 있다

 

Exception

- 예외가 발생하는 이를 처리해야 하는데 처리를 할 수 있는 기능을 가지고 있는 클래스가 바로 Exception 클래스이다

 

- Exception 클래스의 경우 예외가 발생되면 사용자에게 메시지를 전달할 수 있는 기능들이 포함되어 있다

 

- 기본적인 기능 외에 더 처리할 게 있다면 그에 맞는 Exception을 상속받은 클래스를 이용하면 된다

 

- IOException, InteruptedException,.................

 

RuntimeException

- 기본 사항은 Exception과 동일 하지만 Exception을 상속받은 예외 클래스는 프로그래밍을 할 때 직접적인 예외처리를 해야만 컴파일에 통과를 하지만 RuntimeException을 상속받은 예외 클래스는 프로그래밍을 할 때 직접적인 예외처리를 하지 않아도 컴파일 되게 허가를 해준다 하지만 예외가 발생하면 똑같이 강제 종료가 되며 예외가 발생할 수도 있다면 예외 처리를 해줘야 한다 하지만 이러한 예외의 경우 if 문과 같은 조건문 등을 이용하면 예외 처리 없이 오류를 방지할 수 있는 것만을 정의되어 있다

 

try~ catch~ finaly

예외 처리 블록

- 예외 처리는 다음과 같은 문법을 통해 처리할 수 있다

 

try {

     예외가 발생할 수 있는 코드

} catch (ArithmeticException e1) {

     arithmeticException이 발생할 경우 처리할 코드

} catch (IOException e2) {

     IOException이 발생할 경우 처리할 코드

} finaly {

    예외 발생 여부에 관계없이 처리할 코드

}

 

예외의 발생

throws

-  메서드에 throws를 사용하면 예외가 발생할 경우 직접 처리하지 않고 메서드를 호출한 곳에서 처리를 하도록 유도할 수 있다

 

- 메서드에서 throws를 통해 예외를 전달하면 메서드를 호출하는 쪽은 예외 처리 블록을 이용해 반드시 예외를 처리해줘야 한다

 

throw

- 메서드 내부에서 예외를 발생시키는 경우에 사용한다

 

- if 문과 같은 조건문을 통해 조건을 검사하고 잘못된 경우라 판단이 되면 예외를 발생시켜 메서드를 호출한 쪽에서 예외를 처리할 수 있도록 유도할 수 있다

 

사용자 정의 예외처리

- 자바에는 무수히 많은 예외처리 클래스를 제공하고 있다

 

- 이러한 클래스들 외에 개발자가 만들어서 쓸 경우도 있는데 Exception 클래스를 상속받은 클래스를 만들어 주면 된다

 

- 만약 어떠한 메시지를 사용자에게 전달하고 싶다면 getMessage 메서드를 overriding 하면 된다 이 메서드는 예외가 발생될 때 자동으로 호출된다

 

ExceptionTest.java

-------------------------------------------------------------------------------------------------------------------------

import java.io.IOException;

 

TestClass t = new TestClass( );

int result = 0;

try {

     result = t.method(10, 2);

} catch(ArithmeticException e) {

     System.out.println("예외 발생");

} catch(IOExceptione e) {

 

} catch(MyExceptione e) {

     System.out.println("사용자 정의 예외 발생");

     System.out.println(e.toString( ));

     e.printStackTrace( );

}

System.out.println(result);

 

class TestClass {

 

    public int method(int a, int b)throws ArithmeticException, IOException, MyException {

 

          int result = 0;

          result = a/ b;

          if(b <=10) {

              throws new MyException( );

          }

          return result;

 

class MyException extends Exception{

 

    public String getMessage( ) {

         return "10보다 큰 값을 넣어주세요";

    }

}

-------------------------------------------------------------------------------------------------------------------------

 

Console

-------------------------------------------------------------------------------------------------------------------------

사용자 정의 예외 발생

MyException : 10보다 큰 값을 넣어주세요

MyException : 10보다 큰 값을 넣어주세요

            at TestClass.method(ExceptionTest.java:36)

            at ExceptionTest.main(ExceptionTest.java:10)

0

-------------------------------------------------------------------------------------------------------------------------

'자바' 카테고리의 다른 글

Java Runtime Class  (0) 2020.07.04
Java wrapper  (0) 2020.07.04
스레드의 동기화  (0) 2020.06.28
스레드 우선 순위  (0) 2020.06.28
스레드(thread)  (0) 2020.06.27
Posted by khon98
,

자바 API 문서

API(Application Programming Interface ) : API는 제공되는 기능을 사용할 수 있도록  제공되는 인터페이스이다

 

주석

개발자가 만든 소스 코드 중에 컴파일시 컴파일러에 의해 무시되는 부분을 의미

소스 코드 컴파일시 컴파일러는 소스 코드에 있는 주석 부분은 컴파일하지 않는다

소스 코드에 대한 설명 부분이 필요한 경우에 사용

소스 코드중  일부분을 수행되지 않도록 해줄 때 사용

 

주석의 활용

수업 중 메모가 필요한 부분이 있으면 소스 코드에 주석으로 메모

프로그램 작성시 프로그램 작동 순서를 먼저 주석으로 작성

소스 코드 분석시 소스 코드를 통해 이해한 내용을 주석으로 정리

개발 한 이후 나중에 소스 코드에 대한 내용을 쉽게 알아볼 수 있도록 소스 코드 작성 시 주석 작성을 소홀히 해선 안됨

 

주석의 종류

//  한 줄짜리 주석

 

/*  여러 줄을 묶어 줄때 사용

*/

 

/**  class 파일을 자바 문서로 만들어줄 때 사용하는 주석

*/

 

 

EClipse SRC New Class에 Public static void main 메인이 있는 파일을 만들 때 사용

 

Must declare a named package because this compliation unit is associated to the named module 오류 발생 시 자바 프로젝트 생성 할 때 버전을 1.8로 바꾸면 오류 해결됨

 

주석 작성 소홀히 하지 않기

 

 

Posted by khon98
,

자바 언어의 종류

J2SE (Java 2 Platform Standard Edition)

 자바의 가장 기본이 되는 Edition

 모든 자바 프로그램은 J2SE에서 제공되는 컴파일러JRE사용

  컴파일러 : 개발자가 만든 소스 코드를 실행 가능한 형태로 만들어주는 것을 의미

  JRE : 자바 프로그램을 실행할 수 있는 실행 환경

 

J2ME (Java 2 Platform Micro Edition)

 모바일 장치를 위한 Edition 휴대폰에 가장 적합

 개발 시 사용할 J3ME 버전은 1.3이나 1.4 버전이 가장 적합

 

J2EE (Java 2 Platform Enterprise Edition)

 기업용 환경에서 서비스하기 위한 어플리케이션을 개발할 때 사용되는 버전

 기본 J2SE 필요, 최선 버전 사용 권장

  Servlet : Web service를 위해 제공되는 기술

  JSP (Java Server Page) : Web service를 위해 제공되는 기술, 복잡한 Sevlet 프로그래밍을 쉽게 할 수 있도록 각종 기술 제공

  EJB (Enterprise Java Beans) : 분산 컴포넌트 기술, 로직이나 데이터, 메시지 처리에 사용 전체 프로그램 내에서의 작은 부품이라 생각하면 쉬움

  RMI (Remote Method Invocation) : 프록시를 써서 원격에 있는 Java 객체의 메서드를 실행시키는 기술 Microsoft의 RPC와 유사

  JNDI (Java Naming Directory Interface) : 자바 기술로 만들어진 객체에 이름을 붙여 찾을 수 있도록 단일 인터페이스를 제공

  JDBC (Java Database Connector) : 여러 종류의 데이터베이스 시스템에 접근하는 단일 인터페이스를 제공

  JCA (Java Connector Architecture) : 서로 다른 종류의 플랫폼을 통합할 수 있도록 독립적인 인터페이스를 제공

  JMS (Java Message Service) : 여러가지 메시징 시스템에 대한 플랫폼, 독립적인 인터페이스를 제공

 

자바 언어의 특징

객체지향

 개발자가 만든 모든 프로그래밍 코드들은 자동차의 부품처럼 따라 만들어져서 조립되는 형태를 취한다 이러한 부품을 객체라고 부르며 수많은 객체들의 조합으로  하나의 프로그램이 만들어진다 이러한 객체들은 서로 간의 독립으로 동작하며 서로에게 명령을 주고받을 수 있는 인터페이스를 두어 유기적으로 동작 하게 된다

'자바' 카테고리의 다른 글

자바의 기본 출력  (0) 2020.05.11
자바 Documentation, 주석  (0) 2020.05.10
기본 프로그래밍 분석  (0) 2020.05.07
Java 프로그램 만들기  (0) 2020.05.05
자바 개발환경 구축 및 윈도우10 환경변수 설정  (0) 2020.05.05
Posted by khon98
,