### 1. Java에서 Python 코드 실행하기
Python은 매우 인기가 있는 언어로, 다양한 라이브러리와 유연성을 자랑합니다. Java에서 Python 코드를 실행하기 위해 Jython을 사용할 수 있습니다. Jython은 Java 플랫폼에서 Python 코드를 실행할 수 있게 해주는 통합 도구입니다.
```java
import org.python.util.PythonInterpreter;
public class PythonInJava {
public static void main(String[] args) {
try (PythonInterpreter pyInterp = new PythonInterpreter()) {
pyInterp.exec("print('Hello from Python!')");
}
}
}
```
여기서 `org.python.util.PythonInterpreter`를 사용해 Java 애플리케이션 내에서 Python의 `print` 함수를 호출하고 있습니다.
### 2. Java에서 JavaScript 코드 실행하기
JavaScript는 웹 개발에서 많이 사용되며, Java에서 JavaScript를 실행할 때는 `javax.script` 패키지를 통해 가능하게 합니다. Nashorn 엔진이 JDK에 내장되어 있어 JavaScript 코드를 쉽게 실행할 수 있습니다.
```java
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class JavaScriptInJava {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
try {
engine.eval("print('Hello from JavaScript!')");
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
```
이 예제에서 `ScriptEngine`을 사용하여 JavaScript 코드를 Java 애플리케이션 내에서 실행하고 있습니다.
### 3. Java에서 Ruby 코드 실행하기
Ruby는 특히 웹 애플리케이션 개발에 많이 사용되는 언어입니다. JRuby는 Java 플랫폼에서 Ruby 언어를 실행할 수 있게 해주는 도구입니다. Java를 통해 Ruby 코드도 쉽게 실행할 수 있습니다.
```java
import org.jruby.embed.ScriptingContainer;
public class RubyInJava {
public static void main(String[] args) {
ScriptingContainer container = new ScriptingContainer();
container.runScriptlet("puts 'Hello from Ruby!'");
}
}
```
여기서는 `org.jruby.embed.ScriptingContainer`를 사용하여 Ruby의 `puts` 메서드를 호출하고 있습니다.
### 4. Java와 다른 언어의 협업을 위한 JSON
다른 개발 언어와 데이터를 교환할 때 보편적으로 사용되는 형식 중 하나가 JSON입니다. Java에서 JSON을 처리하기 위해 `Jackson` 또는 `Gson` 같은 라이브러리를 사용합니다. 이를 통해 데이터 교환이 필요한 경우 복잡한 데이터를 함께 처리하는 데 유용합니다.
```java
import com.fasterxml.jackson.databind.ObjectMapper;
public class JSONExample {
public static void main(String[] args) {
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"John\", \"age\":30}";
try {
Person person = mapper.readValue(jsonString, Person.class);
System.out.println(person.getName() + " is " + person.getAge() + " years old.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Person {
private String name;
private int age;
// Getters and setters
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
```
이 코드는 `Jackson` 라이브러리를 통해 JSON 문자열을 Java 객체로 변환하는 예입니다.
이렇듯 Java는 다른 언어와의 상호작용을 쉽게 만들어주며, 이러한 기능을 통해 다양한 어플리케이션 개발이 가능해집니다.