반응형

분류 전체보기 2934

[Java 언어 활용] 3. 제네릭과 컬렉션

[Java 언어 활용] 3. 제네릭과 컬렉션 대부분 프로그램에서 자료를 관리하는 것은 필수적인 작업입니다. 그리고 관리할 자료의 특징과 목적에 따라 알맞은 자료구조로 관리합니다. 이미 많은 전산학자들에 의해 다양한 자료구조를 발표하고 있습니다. 현재의 대부분의 고급 언어에서는 기본적인 자료구조를 라이브러리 형태로 제공하고 있습니다. Java 언어에서도 배열 외에도 연결리스트, 스택, 큐, 이진 탐색 트리 등의 자료구조를 컬렉션 라이브러리로 제공합니다. 그리고 Java 언어에서는 컬렉션에 보관할 자료 형식을 명확하게 정할 수 있는 제네릭 문법을 제공하고 있습니다. 이번 장에서는 제네릭이 무엇인지 살펴본 후에 다양한 컬렉션을 소개하고 사용하는 방법을 알아볼 것입니다.[Java 언어 활용] 3.1 제네릭(Ge..

[C++ 무료 동영상 강의] 40. 상속과 다형성 실습2 (도형)

[C++ 무료 동영상 강의] 40. 상속과 다형성 실습2 (도형) 다루는 내용상속,다형성,실습,도형 클래스 구현,점과 선과 사각형 클래스 구현,인터페이스, 가상 메서드 재정의 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C++] 40. 상속과 다형성 실습2 (도형)

[바로크 시대 바흐(Bach]] INVENTION NO.8 IN F MAJOR BMV 779

[바로크 시대 바흐(Bach]] INVENTION NO.8 IN F MAJOR BMV 779작곡가 요한 제바스티안 바흐(Johann Sebastian Bach, 1685년 3월 21일 ~ 1750년 7월 28일)독일의 작곡가“음악의 아버지”, 바흐는 바로크 시대(Baroque Era)에 대위법(두 개 이상의 독립적인 선유을 조화롭게 배치하는 작곡 기술)의 정수를 다한 작곡가입니다. 바흐의 음악은 1802년 독일 음악사학자인 포르켈의 연구서 “바흐의 생애와 예술, 그리고 작품(Uber Johann Sebastian Bachs Leben, Kunst und Kunstwerke)”를 통해 재평가를 받기 시작하였습니다. 인벤션(INVENTION)은 바흐의 자필 원고에 써 놓았던 “Inventio”에서 유래한 명..

[모짜르트] 주제에 의한 변주곡 k. 265

[모짜르트] 주제에 의한 변주곡 k. 265작곡가 및 이야기볼프강 아마데우스 모짜르트(Wolfgang Amadeus Mozart)1756년, 1월 27일 ~ 1791년 12월 5일 “반짝 반짝 작은별”, “Twinkle, twinkle little star”로 잘 알려진 노래죠. “도도 솔솔 라라 솔~” 아마도 거의 모든 사람은 이 음에 익숙할 거예요.이 노래는 프랑스 민요 “아~ 들어주세요. 어머니(Ah vous dirai-je, Maman)”에 영국 시인 제인 테일러의 시를 노랫말로 붙인 것입니다. 그리고 이 노래는 볼프강 아마데우스 모짜르트(Wolfgang Amadeus Mozart)의 주제를 위한 변주곡 K.265를 만드는 데 큰 역할을 합니다. 1778년 볼프강 아마데우스 모짜르트(Wolfgan..

[Java 언어 활용] 2.5 예외 클래스 정의하기

[Java 언어 활용] 2.5 예외 클래스 정의하기 Java 언어에서는 기반 예외 클래스에서 파생한 예외 클래스를 정의할 수 있습니다. 모든 예외 클래스는 기반 클래스 Exception에서 파생한 클래스입니다. 따라서 여러분은 원하는 예외 클래스를 기반으로 파생 클래스를 정의할 수 있습니다. 다음은 앞에서 작성한 코드에서 예외를 던질 때 어떠한 수를 전달해서 예외가 발생했는지 확인할 수 있게 사용자 정의 예외 클래스를 사용한 코드입니다. ▷ 소스 2.7 사용자 정의 예외 클래스 예 피보나치 수열을 구할 수 있습니다. 원하는 항:-3 예외 발생(-3) EHException: 요청 항은 양수여야 합니다. 피보나치 수열 사용을 마칩니다.

[Java 언어 활용] 2.4 예외 발생에 관계없이 수행해야 할 코드는 finally 문 사용

2.4 예외 발생에 관계없이 수행해야 할 코드는 finally 문 사용 Java 언어에서는 예외 처리를 할 때 예외 발생에 관계없이 수행해야 할 코드를 작성할 수 있도록 finally 문을 제공하고 있습니다. 다음은 finally 문을 사용하는 예제 코드입니다. ▷ 소스 2.6 finally 문 사용 예 피보나치 수열을 구할 수 있습니다. 원하는 항:3 Fibbonacci(3)=2 피보나치 수열 사용을 마칩니다. ▷ 소스 2.6 실행 결과(-3을 입력했을 때)

[Java 언어 활용] 2.3 프로그램 방식으로 예외를 던지는 throw 문

[Java 언어 활용] 2.3 프로그램 방식으로 예외를 던지는 throw 문 Java 언어에서는 프로그램 동작 중에 개발자가 원하는 조건을 만족하지 않아 더 이상의 코드 진행을 하지 못하는 상황이 발생할 때 예외를 던지는 throws 문을 제공하고 있습니다. 예외를 던질 수 있는 메서드 throws 예외 클래스{ if(예외가 발생){ throws 예외 개체; } 정상적인 상황의 코드 } 다음은 Fibonacci 수열의 n항을 구하는 코드에 양수 항이 아니면 예외를 던져서 이를 처리하는 코드입니다. ▷ 소스 2.5 throw 문 사용 예 예외 발생 java.lang.Exception: 요청 항은 양수여야 합니다.

[Java 언어 활용] 2.2 예외를 잡아서 처리하기

[Java 언어 활용] 2.2 예외를 잡아서 처리하기 Java에서는 던져진 예외를 잡아서 처리하는 방법을 제공하고 있습니다. 먼저 개발자는 예외가 발생할 수도 있다고 생각하는 부분을 try 블록으로 지정하고 이어서 catch 블록을 지정하여 원하는 예외 개체를 잡아서 예외를 처리합니다. try{ ...예외가 발생할 수도 있는 코드 } catch(예외 개체 변수명){ ...예외를 잡아서 처리할 구문... } 다음은 배열의 유효하지 않은 인덱스를 사용할 때 발생하는 ArrayIndexOutOfBoundsException을 던져졌을 때 개발자가 이를 잡아 처리하지 않았을 때의 코드와 출력 내용입니다. 참고로 모든 예외 클래스는 기반 클래스 Exception 에서 파생한 형식입니다. ▷ 소스 2.2 예외를 잡아..

[Java 언어 활용] 2.1 Throwable 클래스의 계층 구조

[Java 언어 활용] 2.1 Throwable 클래스의 계층 구조 Java 언어에서는 예외나 에러가 발생할 때 Throwable 클래스 개체를 던져 개발자 코드에서 이를 잡아 처리할 수 있게 하고 있습니다. 이는 Throwable은 예외와 에러의 기반 클래스라는 말입니다. [그림 2.1] Throwable 클래스의 계층 구조 예외(Exception)는 비교적 가벼운 오류로 개발자가 프로그램 방식으로 처리할 수 있다고 판단하는 상황에 발생하며 에러(Error)는 치명적인 오류가 발생하여 개발자가 처리할 수 없다고 판단하는 상황에 발생하는 것입니다. 예를 들어 프로그램에서 열고자 하는 파일이 없을 때는 예외를 발생합니다. 하지만 스레드의 자원 경쟁 문제에서 교착 상태에 빠지거나 가상 머신에서 문제가 발생하..

[Java 언어 활용] 2. 예외(Exception)

[Java 언어 활용] 2. 예외(Exception) 프로그램을 작성하다 보면 문법적 오류가 발생할 때도 있고 논리적 버그가 발생할 때가 있습니다. 문법적 오류가 발생하면 개발 단계에서 해결하도록 강제하지만 논리적 버그는 컴파일 시점에 판단하지 못하고 실행 시점에 판단할 수 있는 것이기 때문에 컴파일러가 개발 단계에서 해결을 강제하지 않습니다. Java 언어에서는 이처럼 실행 시점에 문제가 발생하여 다음 코드를 진행을 해야 할 것인지 판단하지 못하는 문제가 발생할 때 예외를 발생시키고 있습니다. 그리고 개발자는 그러한 예외를 처리하기 위해 예외 처리 구문을 사용할 수 있습니다. Java언어에서는 예외는 개발자가 처리할 수 있다고 판단하는 정도의 문제일 때는 예외를 던져줍니다. 그리고 개발자가 처리할 수 ..

반응형