Objetos estruturais como em Java

É completamente contra a maneira Java de criar objetos de estrutura?

class SomeData1 {
    public int x;
    public int y;
}

Eu posso ver uma classe com acessadores e mutadores mais parecidos com Java.

class SomeData2 {
    int getX();
    void setX(int x);

    int getY();
    void setY(int y);

    private int x;
    private int y;
}

A classe do primeiro exemplo é notávelmente conveniente.

// a function in a class
public int f(SomeData1 d) {
    return (3 * d.x) / d.y;
}

Isto não é tão conveniente.

// a function in a class
public int f(SomeData2 d) {
    return (3 * d.getX()) / d.getY();
}