public class Example1
{
    public static void main(String[] args)
    {
        MouseEvent me = new MouseEvent();
  
        BoardData TestBoard = new BoardData();
        MouseEvent TestME = new MouseEvent(TestBoard);
        이하생략
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

public class MouseEvent implements MouseListener
{
    BoardData board = new BoardData();
 
    public MouseEvent()
    {
  
    }
 
    public MouseEvent(BoardData bd)
    {
        board = bd;
    }
 
    public void mouseClicked(java.awt.event.MouseEvent arg0)
    {
        System.out.println("x : "+arg0.getX() +", y : " +arg0.getY());
        board.job = 10;
    }
     이하 생략
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

이런 코드를 만들었는데요

Example 클래스의 메인함수를 실행시켜서 마우스 클릭을 하고 나서
이게 me클래스의 mouseClicked 메소드에서 board.job 값을 10으로 바꾸라고 했으니
제 생각엔 me클래스의 board.job이 10으로 바뀌고 example 클래스의 TestBoard.job는 그대로여야 할 것 같은데
귀신같이 Example클래스의 TestBoard.job를 출력해 보면 10으로 바뀌어있는데요
무엇이 그렇게 만드는건지 개념을 잘 모르겠네요...
한수 설명좀...굽신굽신