본문 바로가기

728x90
반응형

블로거

[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. 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 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리.. 더보기
[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 상속2 1. 오버라이딩 ▷ super ← 부모 클래스 ▷ super() : 부모 클래스의 생성자를 실행합니다. ▷ super(인자1, 인자2) ▷ super.메소드() : 부모 클래스의 메소드를 실행합니다. ◎ 부모 메소드 호출 ▷ 자식 메소드 내에서 super 키워드와 도트(.) 연산자를 사용하면 숨겨진 부모 메소드를 호출합니다. ▷ 부모 메소드를 재사용함으로써 자식 메소드의 중복 작업 내용을 없애는 효과가 있습니다. ◎ Airplane 부모 클래스 public class Airplane { public void land() { System.out.println("착륙합니다."); } public void fly() { System.out.println("일반 비행합니다."); } public void tak.. 더보기

728x90
반응형