Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 9 JShell에서 클래스와 인터페이스 선언하기

JShell은 Java 및 Java API를 빠르게 프로토타이핑하고 디버깅하며 학습할 수 있는 대화형 셸을 제공합니다. 별도의 main() 메서드를 작성하거나 코드를 실행 전에 컴파일할 필요가 없다는 점이 가장 큰 장점입니다.

클래스 선언 방법

클래스는 일반적인 Java 코드를 작성하는 것과 동일한 방식으로 선언할 수 있습니다. JShell은 클래스 선언이 완료되는 시점을 자동으로 감지하여 처리해 줍니다.

아래 코드 예제에서는 두 개의 필드(매개변수)와 하나의 메서드를 가진 Employee 클래스를 선언합니다.

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> class Employee {
...>       String empName;
...>       int age;
...>
...>       public void empData() {
...>          System.out.println("Employee Name is: " + empName);
...>       }
...>    }
| created class Employee


다음 코드 예제에서는 Employee 클래스의 객체를 생성하고, empName과 age 필드에 값을 할당한 후 메서드를 호출하는 과정을 보여줍니다.

jshell> Employee emp = new Employee()
emp ==> Employee@73846619

jshell> emp.empName = "Adithya"
$3 ==> "Adithya"

jshell> emp.age = 20
$4 ==> 20

jshell> emp.empData()
Employee Name is: Adithya


인터페이스 선언 방법

인터페이스도 클래스 선언과 유사한 방식으로 선언할 수 있습니다. 인터페이스 선언이 완료되면 JShell이 이를 자동으로 감지하여 등록해 줍니다.

아래 코드 예제에서는 세 개의 추상 메서드를 포함하는 Animal 인터페이스를 선언합니다.

jshell> interface Animal {
...>       public void eat();
...>       public void move();
...>       public void sleep();
...>    }
| created interface Animal


다음 코드 예제에서는 Cat 클래스가 Animal 인터페이스에서 정의한 추상 메서드들을 구현하지 않아 오류가 발생하는 모습을 확인할 수 있습니다. 이는 일반적인 Java 언어에서 클래스가 인터페이스를 구현할 때와 동일한 규칙이 적용되기 때문입니다.

jshell> class Cat implements Animal {
...>    }
|    Error:
|    Cat is not abstract and does not override abstract method sleep() in Animal
|    class Cat implements Animal {
|    ^----------------------------