작성
·
138
답변 1
0
안녕하세요. 고도윤님, 공식 서포터즈 y2gcoder입니다.
static에 대해 미리 유추해보려고 하셨군요
static 에 대해 이해하려면 사실 자바의 메모리 구조에 대한 학습이 선행되어야 합니다
지금 단계에서는 해당 클래스로 만든 객체들의(혹은 해당 클래스에서 바로 사용할 수 있는) 공용 변수, 공용 메서드 정도로 이해해주시면 감사하겠습니다!
조심스럽게 예를 들어보자면, 사람이라는 한 종이 있고, 그 사람 각각을 보면 고도윤님도 있고, 저도 있고 그 밖에 많은 사람들이 있을 것입니다. 저희가 사용하는 재화들 중에서는 따로 사용할 수 있는 것도 있지만 같이 사용할 수 밖에 없는 재화들도 있습니다. 그 중 대표적인 것이 산소가 있을 것 같습니다. 산소는 사람마다 사용량이 정해진 할당된 자원이 아니라 사람이라는 종이(나아가 동식물들이) 공용으로 사용하는 재화입니다.static 변수, static 메서드 또한 이러한 공용의 재화와 같은 느낌이라고 생각해주시면 감사하겠습니다.
이게 왜 필요한지는 섹션 7. 자바 메모리 구조와 static 을 수강하시면 확실하게 깨달으실 거라 생각합니다!
감사합니다.
지금 접근 제어자 공부하다가 헷갈리는게 좀 생겼는데
지금 3번째 사진에 있는, public void publicMethod, void defaultMethod, private void privateMethod, public vodi innerAccess 전부다 "생성자가 아닌 메서드" 가 맞는거죠??
갑자기 헷갈리네요... 생성자라면 매개변수 값이 있어야 하는 건가요??
생성자는 일반적인 메서드 와 모양이 다릅니다!
//생성자
접근제어자 클래스명(매개변수){}
//메서드
접근제어자 (static) 반환타입 메서드명(매개변수) {}
이렇게 이해해주십쇼~
추가로 여기서 접근제어자는 default 일 때 생략 가능, 매개변수도 필요치 않을 때는 없을 수 있습니다!
어떤 느낌인지는 알겠습니다! 감사합니다! 그러면 static 을 써도 되는거고 안써도 괜찮은건가요?