ネットワーク上のノードを表すオブジェクトに,メソッド呼び出しでアクセスするようなコードの書き方はありませんでしょうか?

例えば,Python で書くと,

class Node:
    def __init__(self, ip, port):
        self.ip = ip
        self.port = port
        self.hoge = 'hogehoge'

    def do_something(self):
        n = Node('127.0.0.1', 12345)
        self.hoge = n.get_hoge()

    def get_hoge():
        return self.hoge

Java で書くなら,

class Node {
    private String ip;
    private int port;
    private String hoge;

    public Node(String ip, int port) {
        this.ip = ip;
        this.port = port;
        this.hoge = "hogehoge";
    }

    public doSomething() {
        Node n = new Node('127.0.0.1', 12345);
        this.hoge = n.getHoge();
    }

    public getHoge() {
        return this.hoge;
    }
}

このような書き方ができるクラスを作りたいです.
要するに,相互に通信を行う Node クラスからソケット API のコードを隠蔽したいということです.

言語は問いません.
何かいい書き方はありませんでしょうか?
また,不可能なら不可能と教えていただけると助かります.
よろしくお願いします.