Java와 C#에서 static 키워드를 사용하면 변수나 메소드가 프로그램 실행 시 바로 메모리에 올라갑니다. 객체를 생성하지 않아도 말이죠.
그렇기에 무분별한 static 남발은 비효율적인 메모리 구조를 낳게 됩니다.
그런데 이보다 더 무서운 사실이 있습니다. static 변수는 하나만 생성됩니다. 그렇기에 이 변수를 수정하게 되면 모든 곳에 반영됩니다.
eat() 함수가 static String food = 'pork'를 사용한다고 생각해봅시다. 잘 사용하고 있는데 다른 개발자가 실수로 혹은 악의적으로 food = 'stone'이라고 수정한다면? 아마 프로그램은 각종 오류를 뿜게 될 것입니다.
그렇기에 static 변수를 사용할 시에는 final이나 const 등을 사용하여 값이 변하지 않게 설정하시기를 추천 드립니다. 값이 변경될 필요가 있으면 어떻하냐고요? 그럴 경우 static이 아닌 일반 변수를 사용하는 것이 대부분의 상황에서 더 좋은 해결책이 될 것입니다.
'IT > 짧은 팁' 카테고리의 다른 글
ssh-copy-id 사용할 시, 서버에 파일로 인증하기 (0) | 2022.05.27 |
---|---|
추상적으로 프로그래밍 하세요. (0) | 2020.11.11 |
public보다는 private을 사용합시다. (0) | 2020.11.10 |
댓글