에러와 예외에러(Error)- 프로그램 실행 시 프로그램의 중요 기능 수행을 불가능하게 할 수 있는 문제를 의미한다.- 하드웨어나 운영체제의 치명적인 에러, 디도스 공격과 같은 상황을 말한다.- 에러를 해결한 후, 프로그램을 재실행해야 한다.예외(Exception)- 에러보다는 가벼운 문제를 말하며, 프로그램 자체적으로 문제 해결이 가능하다.- 개발자가 프로그램을 개발하고 충분히 테스트를 한 후, 배포를 하더라도 예상치 못한 버그(Bug)가 발생되는 경우도 해당된다.- 정상적이지 않는 케이스의 예 - 0 으로 숫자를 나누는 경우 - 배열의 인덱스를 초과하여 참조하고자 하는 경우 - 파일을 열 때, 없는 파일을 열려고 하는 경우예외 처리 목적- 예외가 발생하면 예외가 발생하면 예외가 발생한..
파일 출력FileOutputStreamimport java.io.FileOutputStream;import java.io.IOException;public class Main { public static void main(String[] args) throws IOException { FileOutputStream output = new FileOutputStream("c:/out.txt"); for(int i=1; i- C:\와 같은 폴더의 경로를 생략하면 현재 프로그램이 실행되는 디렉터리에 해당 파일을 생성한다.- FileOutputStream 클래스는 객체를 생성할 때 생성자의 입력으로 파일명을 넘겨주어야 한다. - FileOutputStream 클래스는 OutputS..
콘솔(Console)이란?- 사용자의 입력을 받거나 사용자에게 문자열을 출력해 주는 역활을 하는 것을 말한다.콘솔 입력System.inimport java.io.IOException;import java.io.InputStream;public class Main { public static void main(String[] args) throws IOException { InputStream in = System.in; int a; a = in.read(); System.out.println("a = " + a); // 입력한 바이트의 출력한 바이트보다 큰 경우, InputStream을 비우기 위한 방법 Sys..
내부 클래스 정의- 다른 클래스의 내부에 존재하는 클래스를 의미하며, 또 다른 말로 중첩 클래스라고도 한다.내부 클래스 특징- 내부 클래스는 외부 클래스의 멤버에 자유롭게 접근할 수 있다.- 외부에서는 내부 클래스에 접근이 불가능하다.내부 클래스 종류종류특징멤버 내부 클래스( Instance Inner Class) 외부 클래스의 멤버로 사용된다.로컬 내부 클래스(Local Inner Class) 외부 클래스의 메소드 내에서 정의된다.정적 내부 클래스(Static Inner Class) static으로 지정된 내부 클래스이다.익명 내부 클래스(Anonymoous Inner Class) 내부 클래스가 이름 없이 사용된다.멤버 내부 클래스정의- 외부 클래스의 멤버처럼 정의된 클래스를 의미한다.형식cla..
정의- interface 키워드로 선언된 추상 클래스로써, 추상 메소드와 상수만으로 이루어져 있다.- 단일 상속의 단점을 보완하여 다중 상속처럼 사용할 수 있는 기능을 제공한다.특징- 추상 클래스가 발전된 개념이므로, 인스턴스 생성이 불가능하다.- 멤버로는 상수와 추상 메소드만 허용된다.- 업캐스트 참조 변수로 사용할 수 있다.- 하위 클래스에선 implements(구현) 관계이다.- 하위 클래스에서는 여러 개의 인터페이스를 구현할 수 있다.- 자바의 단일 상속 기능을 보완할 수 있다.형식public interface 인터페이스이름 { // 상수 public static final 타입 상수이름 = 값; // 추상메소드 public abstract 리턴타입 메소드이름(매개변수);}c..
추상화(abstract)란?- "기능은 구현되어 있지 않고, 선언만 있다"라는 의미를 나타내는 지정자이다.추상 메소드 (Abstract Method)- 자식 클래스에서 반드시 오버라이딩 해야하는 메소드를 말한다.- 실행문 블록({})이 없는 메서드이며, 추상 클래스 내에서 사용할 수 있다.public abstract class Calculator { public int add(int num1, int num2) { return num1 + num2; } // 덧셈 public int sub(int num1, int num2) { return num1 - num2; } // 뺄셈 public int mul(int num1, int num2) { return ..