본문 바로가기
수업 일지/JAVA

19일차 - [JAVA] 파일 대화상자(FileDialog)/익명 클래스/람다식

by 쿠쿠씨 2022. 1. 25.
반응형

파일 대화상자(FileDialog)

 

자바에서도 GUI(Graphic User Interface)를 만들 수 있는 클래스들이 있다.

그 중 하나가 FileDialog(파일 대화상자) 클래스이다.

 

14라인 파일 대화상자를 시작할 프레임 객체, JFrame 객체를 생성한다.

16라인 파일 대화상자 객체, FileDialog 객체를 생성한다.

 → 형식: FileDialog(Frame 위치, 대화상자 제목 문자열, 사용 목적(LOAD, SAVE))

17라인 파일 대화상자를 보이게 하는 setVisual 메소드에 true를 저장한다.

19라인 filename에 경로와 파일명을 연결하여 저장한다. getDirectory()는 파일 경로, getFile()은 파일 이름을 나타낸다.

 

 

 

 

WordNote 인터페이스

6~9라인 추상 메소드를 선언한다.

12라인 인스턴스 메소드를 선언한다.(default)

 

EnglishKoreanNote 클래스(WordNote 구현 클래스)

MyDictionary 클래스의 파일 저장/파일 불러오기에 FileDialog(파일 대화상자)를 추가한다.

 

WordNoteApp 클래스

WordNote 인터페이스 타입 변수로 start 메소드를 사용하려면

start 메소드가 WordNote 인터페이스에 선언되어 있어야한다.

 

익명 클래스

 

Anonymous Inner Type 

재사용되지 않고 한 번만 사용할 클래스가 필요할 때 정의한다.(자식 또는 구현 클래스)

형식:

부모클래스 변수 = new 부모클래스(매개값, ...){ ... };

인터페이스 변수 = new 인터페이스( ){ ... };

 

6라인 인터페이스와 추상클래스는 직접 객체를 생성하지 않는다.

8라인 RemoteControl 인터페이스의 익명 구현 클래스를 정의한다.

10~16라인 RemoteControl 인터페이스의 추상 메소드를 구현한다.

20~23라인 RemoteControl 인터페이스의 메소드를 호출할 수 있다.

25라인 Animal 추상 클래스의 익명 자식 클래스를 정의한다.

27~28라인 Animal 클래스의 메소드를 재정의한다.

 

함수형 인터페이스(람다식)

 

인터페이스 중에 추상 메소드가 1개인 것은 다른 프로그래밍 언어에서 사용되는 함수 형식으로 표현할 수 있다.

함수형 인터페이스는 추상 메소드는 1개지만, 인스턴스 메소드를 가질 수 있다.

 

FuncInterfaceA는 추상 메소드가 1개이다. (함수형 인터페이스이다.)

 

가독성, 간결성을 위해서 람다식을 사용한다.

일반 메소드와 달리 이름이 없다. (추상 메소드가 1개이기 때문에 추론할 수 있다.)

형식: (인자 선언) -> { 메소드 실행 내용 };

13라인 WebSearch 인터페이스의 익명 구현 클래스를 정의한다.

15~16라인 추상 메소드를 재정의한다.

23라인 추상 메소드의 재정의를 람다식으로 표현한다.

27라인 FuncInterfaceA의 익명 구현 클래스를 정의한다.

30~32라인 추상 메소드를 재정의한다.

34,35라인 methodA의 리턴값을 변수 result에 저장하여 출력한다. 

40~43라인 추상 메소드의 재정의를 람다식으로 표현한다.

반응형

댓글