본문 바로가기

728x90
반응형

Java

[java] 이것이 자바다 ch10 라이브러리와 모듈 1. 라이브러리 ▷ 프로그램 개발시 활용할 수 있는 클래스와 인터페이스들을 모아놓은 것입니다. ▷ 일반적으로 JAR 압축 파일(~.jar) 형태입니다. 클래스와 인터페이스의 바이트코드 파일(~.class)들이 압축되어 있습니다. ▷ 라이브러리 JAR 파일을 이용하려면 ClassPath(클래스를 찾기 위한 경로)에 추가 ▷ 콘솔(명령 프롬프트 또는 터미널)에서 프로그램을 실행할 경우 : java 명령어를 실행할 때 -classpath로 제공합니다. 또는 CLASSPATH 환경 변수에 경로를 추가합니다. ▷ 이클립스 프로젝트에서 실행할 경우: 프로젝트의 Bulid Path에 추가합니다. ◎ 라이브러리 생성 목적 → JAR 파일을 만들어서 자신의 코드(패키지, 클래스)를 저장하면 다음 번에 만들 필요 없이 가.. 더보기
[java] 이것이 자바다 ch09 중첩 선언 2 및 익명 객체 1. 뱌깥 멤버의 접근 ◎ 바깥 클래스의 멤버 접근 제한 ▷ 정적 멤버 클래스 내부에서는 바깥 클래스의 필드와 메소드를 사용할 때 제한이 따릅니다. ◎ 바깥 클래스의 사용 가능한 멤버 ▷ 인스턴스 멤버 클래스 : 바깥 클래스의 모든 필드와 메소드 ▷ 정적 멤버 클래스 : 바깥 클래스의 정적 필드와 정적 메소드 ▷ 정적 멤버 클래스는 바깥 객체가 없어도 사용 가능해야 하므로 바깥 클래스의 인스턴스 필드와 인스턴스 메소드는 사용하지 못합니다. ◎ 바깥 클래스 접근 제한 예제 public class A { // A의 인스턴스 필드와 메소드 int field1; void method1() { } // A의 정적 필드와 메소드 static int field2; static void method2() { } // .. 더보기
[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 {.. 더보기
[java] 인터페이스2 1. 다중 인터페이스 ▷ 구현 객체는 여러 개의 인터페이스를 통해 구현 객체를 사용할 수 있습니다. ▷ 구현 클래스는 인터페이스 A와 인터페이스 B를 implements 뒤에 쉼표로 구분해서 작성합니다. 이러면, 모든 인터페이스가 가진 추상 메소드를 재정의합니다. ▷ 여러개의 객체가 각각의 인터페이스를 통해 구현 객체를 불러오는 것입니다. 1. RemoteControl 인터페이스 public interface RemoteControl { void turnOn(); void turnOff(); }​ 2. Searchable 인터페이스 public interface Searchable { void search(String url); }​ 3. SmartTelevision 클래스 public class Sma.. 더보기
[java] 인터페이스 1. 인터페이스 ▷ 두 객체를 연결하는 역할입니다. ▷ 다형성 구현에 주된 기술입니다. ◎ 인터페이스 선언 ▷ 인터페이스 선언은 class 키워드 대신 interface 키워드를 사용합니다. ▷ 접근 제한자로는 클래스와 마찬가지로 같은 패키지 내에서만 사용 가능한 default, 패키지와 상관없이 사용하는 public을 붙일 수 있습니다. ◎ 구현 클래스 선언 ▷ 인터페이스에 정의된 추상 메소드에 대한 실행 내용이 구현됩니다. ▷ implements 키워드는 해당 클래스가 인터페이스를 통해 사용할 수 있다는 표시이며, 인터페이스의 추상 메소드를 재정의한 메소드가 있다는 뜻입니다. ◎ 변수 선언과 구현 객체 타입 ▷ 인터페이스는 참조 타입에 속하므로 인터페이스 변수에는 객체를 참조하고 있지 않다는 뜻으로 .. 더보기
[java] 추상 클래스 ◎ 추상 클래스 : 객체를 생성할 수 있는 실체 클래스들의 공통적인 필드나 메소드를 추출해서 선언한 클래스 추상 클래스는 실체 클래스의 부모 역할. 공통적인 필드나 메소드를 물려받을 수 있습니다. 1. Phone 부모 클래스 public class Phone { String owner; Phone(String owner){ this.owner = owner; } void turnOn() { System.out.println("폰 전원을 켭니다."); } void turnOff() { System.out.println("폰 전원을 끕니다."); } }​ 2. SmartPhone 자식 클래스 public class SmartPhone extends Phone { SmartPhone(String owner){.. 더보기
[백준 문제 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 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리.. 더보기

728x90
반응형