일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 배열
- 제어자
- I/O
- ToString
- 예외
- 객체
- Interface
- Connection
- 다형성
- JSP
- try-catch
- 인터페이스
- 변수
- StringBuffer클래스
- DB
- 입출력
- 내장 객체 영역
- for문
- java
- 커넥션 풀
- File입출력
- 메서드
- 예외처리
- 에러
- StringBuffer
- array
- 람다식
- 상속
- 객체지향
- 접근제어자
- Today
- Total
목록객체지향 (23)
ksouth9

인터페이스 이해 클래스를 사용하는 쪽(User)과 클래스를 제공하는 쪽(Provider)이 있다. 메서드를 사용(호출)하는 쪽(User)에서는 사용하려는 메서드(Provider)의 선언부만 알면 된다.(내용은 몰라도 된다.) public class A { public void methodA(B b) { b.methodB(); } } class B{ public void methodB() { System.out.println("methodB()"); } } class InterfaceTest{ public static void main(String[] args) { A a = new A(); a.methodA(new B()); } }//실행결과 methodB() 이 경우 클래스 A를 작성하려면 클래스 B가..

인터페이스 장점 개발시간을 단축시킬 수 있다. 표준화가 가능하다. 서로 관계없는 클래스들에게 관계를 맺어 줄 수 있다. 독립적인 프로그래밍이 가능하다. 1.개발시간을 단축시킬 수 있다. - 인터페이스가 작성이되면, 이를 사용해서 프로그램을 작성하는 것이 가능하다. 메서드를 호출하는 쪽에서는 메서드의 내용에 관계없이 선언부만 알면 되기 때문이다. 그리고 동시에 다른 한 쪽에서는 인터페이스를 구현하는 클래스를 작성하게 하면, 인터페이스를 구현하는 클래스가 작성될 때까지 기다리지 않고도 양쪽에서 동시에 개발을 진행할 수 있다. 2. 표준화가 가능하다. - 프로젝트에 사용되는 기본 틀을 인터페이스로 작성한 다음, 개발자들에게 인터페이스를 구현하여 프로그램을 작성하도록 함으로써 보다 일관되고 정형화된 프로그램의 ..

인터페이스(interface) 인터페이스는 일종의 추상클래스이다. 인터페이스는 구현된 것은 아무 것도 없고 밑그림만 그려져 있는 '기본 설계도'라 할 수 있다. 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상 메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용하지 않는다. 생성방법 인터페이스를 작성하는 것은 클래스를 작성하는 것과 같다. 키워드로 class 대신 'interface'를 사용하면 된다. 그리고 interface에도 클래스와 같이 접근제어자로 public 또는 default를 사용할 수 있다. interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메서드이름 (매개변수목록); } 일..

추상클래스 하나 이상의 추상 메소드를 포함하는 클래스 추상클래스는 미완성 설계도에 비유할 수 있다. 클래스가 미완성이라는 것은 멤버의 개수에 관계된 것이 아니라, 단지 미완성 메서드(추상메서드)를 포함하고 있다는 의미이다. 추상클래스는 인스턴스를 생성할 수 없다. 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 추상클래스는 추상메서드를 포함하고 있다는 것을 제외하고는 일반클래스와 전혀 다르지 않다. 추상클래스에도 생성자가 있으며, 멤버변수와 메서드도 가질 수 있다. 생성방법 abstract class 클래스이름 abstract class 클래스이름 { ... } 추상메서드 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것이 추상메서드이다. 즉, 설계만 해 놓고 실제 수행될 내용..

instanceof연산자 객체가 어떤 클래스인지, 어떤 클래스를 상속받았는지 확인하는데 사용하는 연산자 주로 조건문에 사용되며, instanceof의 왼쪽에는 참조변수를 오른쪽에는 타입(클래스명)이 피연산자로 위치한다. '참조변수 instanceof 클래스명' 연산의 결과로 boolean값인 true와 false 중의 하나를 반환한다. instanceof를 이용한 연산결과로 true를 얻었다는 것은 참조변수가 검사한 타입으로 형변환이 가능하다는 것을 뜻한다. public class Instanceof { public static void main(String[] args) { FireEngine f = new FireEngine(); Ambulance a = new Ambulance(); Instance..

다형성 다형성이란, 여러 가지 형태를 가질 수 있는 능력 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다. public class Tv { boolean power;//전원상태(on/off) int channel;//채널 void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class CaptionTv extends Tv { String text; void caption() { */ 내용생략 */ } } 생성된 인스턴스를 다루기 위해서, 인스턴스의 타입과 일치하는 타입의 참조변수만을 사용했다. 즉, Tv인스턴스를 다루기 위해서는 Tv타입의 참조변수를 ..

접근 제어자 접근 제어자는 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 접근 제어자가 default값이라면, 실제로 default를 붙이지 않는다. 클래스나 멤버변수, 메서드, 생성자에 접근 제어자가 지정되어 있지 않다면, 접근 제어자가 default임을 뜻한다. 접근 제어자가 사용될 수 있는 곳 - 클래스, 멤버변수, 메서드, 생성자 private 같은 클래스 내에서만 접근이 가능하다. default 같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능하다. public 접근 제한이 전혀 없다. 제어자 같은 클래스 같은 패키지 자손클래스 전체 public O O O ..

제어자 제어자는 클래스, 변수 또는 메서드의 선언부와 함께 사용되어 부가적인 의미를 부여한다. 접근 제어자 public, protected, default, private 그 외 static, final, abstract, native, transient, synchronized, volatile, strictfp 제어자는 클래스나 멤버변수와 메서드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 단, 접근 제어자는 한 번에 네 가지 중 하나만 선택해서 사용할 수 있다. static - 클래스의, 공통적인 static은 '클래스의' 또는 '공통적인'의 의미를 가지고 있다. 인스턴스변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(sta..