본문 바로가기

개발 공부122

인터페이스 구현 (2) - 익명 구현 객체 익명 구현 객체란? 명시적인 구현 클래스 작성을 생략하고 바로 구현 객체를 얻는 방법 (즉, 소스 파일을 만들지 않고 구현 객체를 만들 수 있는 방법) 인터페이스 변수 = new 인터페이스() { // 인터페이스에 선언된 추상 메소드의 실체 메소드 선언 }; 인터페이스() { }는 인터페이스를 구현해서 중괄호 { }와 같이 클래스를 선언하라는 뜻이고, new 연산자는 선언된 클래스를 객체로 생성한다. (이름이 없는 구현 클래스 선언과 동시에 객체를 생성한다.) 중괄호 { }에는 인터페이스의 모든 추상 메소드들의 실체 메소드를 작성해야 한다. 추가적으로 필드와 메소드를 선언할 수 있지만 익명 객체 안에서만 사용할 수 있고. 인터페이스 변수로는 접근할 수 없다. 작성 시 주의할 점 : 하나의 실행문이므로 끝.. 2021. 6. 9.
인터페이스 구현 (1) - 구현 객체 구현(implement) 객체란? 인터페이스의 추상 메소드에 대한 실체 메소드를 가진 객체 개발 코드가 인터페이스 메소드를 호출하면 인터페이스는 객체의 메소드를 호출한다. 객체는 인터페이스에서 정의된 추상 메소드와 동일한 메소드 이름, 매개 타입, 리턴 타입을 가진 실체 메소드를 가지고 있어야 하는데 이러한 객체를 인터페이스 구현 객체라고 하고, 구현 객체를 생성하는 클래스를 구현 클래스라고 한다. 구현 클래스 선언 자신의 객체가 인터페이스 타입으로 사용할 수 있음을 알려주시 위해 클래스 선언부에 implement 키워드를 추가하고 인터페이스명을 명시해야 한다. public class 구현클래스명 implements 인터페이스명 { //인터페이스에 선언된 추상 메소드의 실체 메소드 선언 } 예제) 인터페.. 2021. 6. 9.
인터페이스 선언 public interface RemoteControl { ... } class 키워드 대신 interface로 작성! 인터페이스는 상수 필드와 메소드를 구성 멤버로 갖는다. (클래스는 필드, 생성자, 메소드를 구성 멤버로 갖는다) 상수 필드 (Contant Field) 인터페이스는 객체 사용 설명서이므로 런타임 시 데이터를 저장할 수 있는 인스턴스 또는 정적 필드를 선언할 수 없지만, 상수 필드는 선언이 가능하다. 상수는 인터페이스에 고정된 값으로 런타임 시에 데이터를 바꿀 수 없다. 상수명은 대문자로 작성하되, 서로 다른 단어로 구성되어 있을 경우에는 언더바(_)로 연결하는 것이 관례이다. 인터페이스 상수는 정적 블록 static { } 으로 초기화할 수 없기 때문에 반드시 선언과 동시에 초기값을 지.. 2021. 6. 9.
인터페이스(interface)의 역할 자바의 인터페이스란 객체의 사용 방법을 정의한 타입이다. 인터페이스는 개발 코드와 객체가 서로 통신하는 접점으로써, 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 한다. 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출시킨다. 따라서 개발 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고 있으면 된다. 그렇다면 굳이 인터페이스를 사용하는 이유는 무엇일까? 그 이유는 개발 코드를 수정하지 않고, 사용하는 객체를 변경할 수 있도록 하기 위해서이다. 인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라서 실행 내용과 리턴값이 다를 수 있다. 2021. 6. 9.
열거 타입(enumeration type) 열거 타입이란? 한정된 값만을 갖는 데이터 타입. 열거 타입은 몇 개의 열거 상수 중에서 하나의 상수를 저장하는 데이터 타입이다. 열거 타입 선언 public enum Week { // 관례적으로 열거 상수는 대문자로 작성 MONDAY, TUESDAE, WEDNESDAY, THURSDAY, FRIDAY, SATHURDAY, SUNDAY } 열거 타입 변수 import java.util.Calendar; public class EnumWeekExample { public static void main(String[] args) { // 열거 타입 변수 // 열거타입도 하나의 데이터 타입이므로 변수를 선언하고 사용 // 열거타입도 참조타입이므로 null로 초기화 가능 Week today = null; // .. 2021. 6. 6.
변수(variable)란? 하나의 값을 저장할 수 있는 메모리 공간. (한 가지 타입의 값만 저장) 변수를 선언하고 처음 저장한 값을 초기값이라고 하며, 변수에 초기값을 주는 행위를 변수의 초기화라고 한다. 변수는 초기화 되어야만 읽을 수 있다. 소스 코드 내에서 직접 입력된 값을 리터럴(literal) 이라고 부른다. public class LiteralExample { public static void main(String[] args) { int var1 = 10; System.out.println(var1); int var2 = 010; System.out.println(var2); int var3 = 0x10; System.out.println(var3); double var4 = 0.25; System.out.print.. 2021. 6. 6.