로그인할 때, 아이디가 다른 클래스에서 제가 입력한 아이디가 보이지 않는 문제가 발생했습니다. 이 문제는 로그인 후 사용할 아이디 정보를 다른 클래스에서 접근할 수 없다는 현상으로 나타났습니다.
이 문제의 원인은 아이디 정보를 담는 변수가 클래스 내에서 공유되지 않아 발생한 것으로 확인되었습니다. 아래와 같은 코드에서 문제가 발견되었습니다
private String UserID;
이 문제를 해결하기 위해 다음과 같은 방법을 사용했습니다.
1.static
키워드 추가
static
키워드를 변수에 추가하여 해당 변수를 클래스 변수(static 변수)로 선언했습니다.private static String UserID;
- 클래스 변수는 클래스의 모든 인스턴스에서 공유됩니다. 이렇게 함으로써 아이디 정보를 모든 클래스에서 접근할 수 있게 되었습니다.
- 클래스 변수의 값은 해당 클래스의 모든 인스턴스에서 공유되므로 값이 변경되면 모든 인스턴스에서 변경된 값이 반영됩니다.
- 이것이 의도된 동작이라면 좋지만, 여러 곳에서 값이 공유되어야 할 필요가 없는 경우에는 static 변수를 사용을 삼가해야 합니다.
- 주로 공유 데이터와 관련된 상수 또는 설정 정보와 같은 경우에 static 변수를 사용하는 것이 일반적입니다.
이와 같은 수정을 통해 아이디 정보를 다른 클래스에서 정상적으로 사용할 수 있게 되었습니다. 이제 로그인 후 아이디 정보가 모든 클래스에서 공유되어 사용 가능하게 되었습니다.