Java로 회원 관리 프로그램을 만들고 있는데, DB 연결용 Connection 객체를 각 클래스에 어떻게 전달해야 할지 모르겠어요.
main에서 Connection을 만들고 각 메뉴의 이벤트 처리 메소드에서 클래스별 창을 띄우는 구조인데요.
Connection을 main에서 선언해 다른 클래스에서 쓰려니 nonstatic 관련 오류가 나고, actionPerformed에 Connection 매개변수를 추가하면 ActionListener 구현 오류가 납니다.
각 클래스의 MakeWindow 메소드에 연결 객체를 전달하려면 어떻게 해야 하나요?
Java Connection 객체를 다른 클래스에 전달하는 방법 질문이요
중국드립 2026.06.21 댓글 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)처럼 받으면 될 것 같은데요^^