본문 바로가기

728x90
반응형

IT

[java] ch11 예외 처리 2 1. 리소스 ▷ 데이터를 제공하는 객체 ▷ 리소스는 사용하기 위해 열어야(open)하며, 사용이 끝난 다음에는 닫아야(close)합니다. ▷ 리소스를 사용하다가 예외가 발생될 경우에도 안전하게 닫는 것이 중요합니다. ▷ try-with-resources 블록을 사용하면 예외 발생 여부와 상관없이 리소스를 자동으로 닫아줍니다. 1. MyResource 클래스 public class MyResource implements AutoCloseable { private String name; public MyResource(String name) { this.name = name; System.out.println("[MyResource(" + name + ") 열기]"); } public String read1.. 더보기
[java] ch11 예외 처리 1 1. 예외와 예외 클래스 ▷ 예외 : 잘못된 사용 또는 코딩으로 인한 오류 ▷ 에러와 달리 예외 처리를 통해 계속 실행 상태를 유지할 수 있습니다. ▷ 일반 예외(Exception) : 컴파일러가 예외 처리 코드 여부를 검사하는 예외 ▷ 실행 예외(Runtime Exception) : 컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외 2. 예외 처리 코드 ▷ 예외 발생 시 프로그램의 갑작스러운 종료를 막고 정상 실행을 유지할 수 있게 처리하는 코드 ▷ 예외 처리 코드는 try-catch-finally 블록으로 구성 ▷ trycatch-finally 블록은 생성자 내부와 메소드 내부에서 작성 ◎ 예외 발생 예시 1 public class Example1 { public static void printL.. 더보기
[java] 이것이 자바다 ch10 라이브러리와 모듈 1. 라이브러리 ▷ 프로그램 개발시 활용할 수 있는 클래스와 인터페이스들을 모아놓은 것입니다. ▷ 일반적으로 JAR 압축 파일(~.jar) 형태입니다. 클래스와 인터페이스의 바이트코드 파일(~.class)들이 압축되어 있습니다. ▷ 라이브러리 JAR 파일을 이용하려면 ClassPath(클래스를 찾기 위한 경로)에 추가 ▷ 콘솔(명령 프롬프트 또는 터미널)에서 프로그램을 실행할 경우 : java 명령어를 실행할 때 -classpath로 제공합니다. 또는 CLASSPATH 환경 변수에 경로를 추가합니다. ▷ 이클립스 프로젝트에서 실행할 경우: 프로젝트의 Bulid Path에 추가합니다. ◎ 라이브러리 생성 목적 → JAR 파일을 만들어서 자신의 코드(패키지, 클래스)를 저장하면 다음 번에 만들 필요 없이 가.. 더보기
[java] 이것이 자바다 ch09 중첩 선언 1. 중첩 클래스 ▷ 클래스 내부에 선언한 클래스 ▷ 클래스의 멤버를 쉽게 사용할 수 있고 외부에는 중첩 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있습니다. ▷ 멤버 클래스 : 클래스 멤버로서 선언되는 중첩 클래스 ▷ 로컬 클래스 : 메소드 내부에서 선언되는 중첩 클래스 NO 선언 위치에 따른 분류 선언 위치 객체 생성 조건 1 멤버 클래스 인스턴스 멤버 클래스 class A { class B { ... } } A 객체를 생성해야만 B 객체를 생성할 수 있습니다. 2 정적 멤버 클래스 class A { static class B { ... } } A 객체를 생성하지 않아도 B 객체를 생성할 수 있습니다. 3 로컬 클래스 class A { void method() { static class B {.. 더보기
[백준 문제 1712번] 손익분기점 문제 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 1712) 손익분기점 문제 문제) 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산.. 더보기
[백준 문제 2525번] 오븐 시계 문제 https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 2525) 오븐 시계 문제) KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리.. 더보기
[java] 이것이 자바다 ch07 상속3 1. 타입 변환 ◎ 자동 타입 변환 ▷ 자동적으로 타입 변환이 일어나는 것입니다. ▷ 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급합니다. class A{ } class B extends A{ } class C extends A{ } class D extends B{ } class E extends C{ } public class PromotionExample { public static void main(String[] args) { B b = new B(); C c = new C(); D d = new D(); E e = new E(); A a1 = b; A a2 = c; A a3 = d; A a4 = e; B b1 = d; C c1 = e; //B b3 = e; // 컴파일 에러.. 더보기
[java] 이것이 자바다 ch07 상속 1. 상속 ▷ 부모 클래스의 필드와 메소드를 자식 클래스에게 물려줄 수 있습니다. ◎ 상속의 이점 ▷ 이미 개발된 클래스를 재사용하므로 중복 코드를 줄입니다. ▷ 클래스 수정을 최소화합니다. 2. 클래스 상속 ▷ 자식 클래스를 선언할 때 어떤 부모로부터 상속받을 것인지를 결정하고, 부모 클래스를 다음과 같이 extends 뒤에 기술합니다. ▷ 다중 상속 허용하지 않습니다. extends 뒤에 하나의 부모 클래스만 상속합니다. ▶ 자바 외의 다른 언어에서는 다중 상속이 가능합니다. ▷ 클래스 앞에 final이 붙은 경우에는 상속이 불가능합니다.( ex) final calss Parent{ } ) ▷ control + T를 누르면 상속이 나타납니다. ◎ 부모 클래스 Phone // 부모 클래스 Phone p.. 더보기

728x90
반응형