Java Connection 객체를 다른 클래스에 전달하는 방법 질문이요

Java로 회원 관리 프로그램을 만들고 있는데, DB 연결용 Connection 객체를 각 클래스에 어떻게 전달해야 할지 모르겠어요.
main에서 Connection을 만들고 각 메뉴의 이벤트 처리 메소드에서 클래스별 창을 띄우는 구조인데요.
Connection을 main에서 선언해 다른 클래스에서 쓰려니 nonstatic 관련 오류가 나고, actionPerformed에 Connection 매개변수를 추가하면 ActionListener 구현 오류가 납니다.
각 클래스의 MakeWindow 메소드에 연결 객체를 전달하려면 어떻게 해야 하나요?

댓글 10

  • 악당 2026.06.21

    답변 감사합니다^^

  • 갈매빛 2026.06.21

    Connection 객체를 main이 아니라 필드로 선언하니 되네요.
    생성자에서 쓰면 되는 거였어요. 기초가 부족해서 실수했네요 ㅠㅠ

  • 두메꽃 2026.06.21

    그냥 넘기면 안 되던가요?
    스윙으로 문자열은 넘겨 봤는데 Connection 객체도 전달되는지는 모르겠네요.

  • UniQue 2026.06.21

    DB 이름이나 IP, 포트가 바뀌면 프로퍼티 파일만 수정하면 되도록 해뒀어요.

  • 은새 2026.06.21

    저도 DB 연결과 해제를 담당하는 클래스를 따로 두고, URL이나 아이디, 비밀번호, 포트는 프로퍼티 파일에 저장해요.
    import해서 객체를 만들고 연결하면 되더라고요^^

  • 빛초롱 2026.06.21

    Application과 DB 연결만 담당하는 클래스를 따로 만들어도 연결할 수 있나요?
    그 클래스 객체를 생성해서 연결하는 것처럼 보이던데, Java가 익숙하지 않아서요^^

  • 시내 2026.06.21

    책에서는 Connection을 멤버 변수로 선언하던데 제가 하면 안 되더라고요.
    무엇 때문에 그런 걸까요? ㅠㅠ

  • 살랑살랑 2026.06.21

    MakeWindow의 매개변수로 넘기려면 actionPerformed 메소드를 호출해야 할 것 같은데, 이벤트가 생길 때 자동으로 호출되잖아요.
    Connection을 main에서 선언하면 전달이 안 되고, 클래스 멤버 변수로 선언해도 오류가 나는데 어떻게 해야 하나요?

  • 앨프레드 2026.06.21

    저도 윗분 말씀처럼 Connection을 그냥 넘기면 될 것 같아요.

  • 나로 2026.06.21

    다이얼로그를 만들 때 넘기면 안 되나요?
    예를 들어 MakeWindow(conn)으로 호출하고, 메소드에서 MakeWindow(Connection conn)처럼 받으면 될 것 같은데요^^