본문 바로가기
728x90
반응형
SMALL

Programing/JAVA (& 혼공자Java)70

자바(Java) - 중첩 클래스와 중첩 인터페이스 객체 지향 프로그래밍에서 클래스들은 서로 긴밀한 관계를 맺고 상호작용을 한다. 클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋으나, 특정 클래스와 관계를 맺을 경우에는 클래스 내부에 선언하는 것이 좋다. 중첩 클래스 (nested class) 클래스 내부에 선언한 클래스이며, 바깥 클래스와 긴밀한 관계를 가진다. 중첩 클래스를 사용하면 두 클래스의 멤버들을 서로 쉽게 접근할 수 있고, 외부에는 불필요한 관계 클래스를 감춤으로써 콛의 복잡성을 줄일 수 있다. 중첩 인터페이스 (nested interface) 클래스 내부에 선언한 인터페이스이며, 바깥 클래스와 긴밀한 관계를 가진다. 중첩 클래스 멤버 클래스 클래스의 멤버로서 선언되는 중첩 클래스 로컬 클래스 생성자 또는 메소드 내부.. 2020. 11. 23.
자바(Java) - 타입 변환과 다형성 다형성을 구현하기 위해서는 메소드 재정의와 타입 변환이 필요하다. 인터페이스 역시 이 두가지 기능이 제공되므로 상속과 더불어 다형성을 구현하는데 많이 사용된다. 상속은 같은 종류의 하위 클래스를 만드는 기술이고, 인터페이스는 사용방법이 동일한 클래스를 만드는 기술 이다. 개념상 차이는 있지만 상속과 인터페이스 둘 다 다형성을 구현하는 방법은 비슷하다. 인터페이스의 다형성 인터페이스 사용 방법은 동일하지만 구현 객체를 교체하여 프로그램 실행 결과를 다양하게 할 수 있다. 자동 타입 변환 (promotion) 구현 객체가 인터페이스 타입으로 변환되는 것이다. 구현 객체와 자식 객체는 인터페이스 타입으로 자동 타입 변환이 된다. 인터페이스 변수 = 구현객체; //구현객체가 인터페이스 타입으로 변환 필드의 다형.. 2020. 11. 17.
자바(Java) - 인터페이스 자바에서 인터페이스는 객체의 사용 방법을 정의한 타입이다. 인터페이스를 통해 다양한 객체를 동일한 사용 방법으로 이용할 수 있다. 인터페이스를 통해 다형성을 구현할 수 있다. 인터페이스(interface) 개발 코드는 인터페이스를 통해서 객체와 서로 통신한다. 인터페이스의 메소드를 호출하면 객체의 메소드가 호출된다. 개발 코드를 수정하지 않으면서 객체 교환이 가능하다. 인터페이스 선언 ~.java 형태 소스 파일로 작성되고, 컴파일러를 통해 ~.class 형태로 컴파일 된다. 클래스와 물리저거 파일 형태는 같으나 소스 작성 내용이 다르다. [public] interface 인터페이스이름 { ... } 인터페이스는 객체로 생성할 수 없으므로 생성자를 가질 수 없다. interface 인테페이스 이름 { /.. 2020. 11. 16.
자바(Java) - 추상 클래스 사전적 의미로 추상(abstract)는 실체 간에 공통되는 특성을 추출한 것을 말한다. 클래스에서도 추상 클래스가 존재한다. 추상 클래스 클래스들의 공통적인 특성을 추출해서 선언한 클래스 실체 클래스(객체 생성용 클래스)들의 공통적인 특성(필드, 메소드)을 추출하여 선언한 것이다. 추상클래스와 실체 클래스는 상속의 관계를 갖고 있다. 추상 클래스가 부모, 실체 클래스가 자식으로 구현되어 실체 클래스는 추상 클래스의 모든 특성을 물려받고, 추가적인 특성을 갖을 수 있다. 추상 클래스의 용도 실체 클래스에 반드시 존재해야할 필드와 메소드의 선언(실체 클래스의 설계 규격-객체생성용이 아니다) 실체 클래스에는 공통된 내용은 빠르게 물려받고, 다른 점만 선언하면 되므로 시간 절약을 할 수 있다. 공통된 필드와 메.. 2020. 11. 9.
자바(Java) - 강제 타입 변환 강제 타입 변환(casting) 부모 타입을 자식 타입으로 변환 하는 것 자식 타입이 부모 타입으로 자동 타입 변환 후 다시 자식 타입으로 변환할 때 강제 타입 변환을 사용 할 수 있다. 자식타입 변수 = (자식타입) 부모타입; 부모 타입을 자식 타입으로 변환 Parent parent = new Child();//자동 타입 변환 Child child = (Child) parent;//강제 타입 변환 예시1) 강제 타입 변환 부모 클래스 public class Parent { public String field1; public void method1() { System.out.println("Parent-method1()"); } public void method2() { System.out.println.. 2020. 11. 5.
728x90
반응형
LIST