Public static void main(String []Args
늘솜
제가 아는대로라면.. 메인함수가 Public인 이유는
JVM에서 처음 로드할때 메인함수를 로드하는데 접근제한자가 Public이 아니면 접근이 불가능해서
Public으로 선언해주고
static을 써준건 마찬가지로 JVM상에서 로드할때 메인함수가 메모리상에 올라가있어야 하는데
인스턴스객체를 생성시키지 않는 이상 static으로 선언을 해줘야 하기에 붙이는거고
void라는것은 메인함수가 리턴값을 가질필요가 없고 그냥 처음 설계할때의 약속같은것이고
String args[] 을 쓰는 이유는 인자를 받을때 JVM이 스트링형으로만 받을수 있고 인자가 여러개일때를
위해서 배열로 정의한다...라고 알고있습니다.
혹시 잘못된 점 있거나 추가되야 하는 점 있으면 답변부탁드립니다.
-
해찬솔
흠.. 콘솔 프로그램만 짜도.. EDT ( 이벤트 디스페치 스레드 ) 가 동작하나요? 궁금하군요. ㅎ
-
찬슬
main thread 랑. gui 의 이벤트 관리하는 event dispatch thread 랑... 또 뭐시냐... -_-a System.in하고 System.out 을 관리하는 thread가 있던가.. -_-a 나머지 하나는 잘 모르겠음...
-
소년틳터프
답변 감사합니다 ^^
-
민구
static는 스레드를 구동시켜주기 위해 정적메모리에 있는 클래스에 접근하기 위해서 사용하는겁니다.
static 는 객체생성해도 상관없습니다. 단지 힙(heap)영역에 존재하는 것이 아니라 static 영역에 존재하는 것이라.. 객체생성하더라도 공유를 하는거죠.. -
동생몬
책있으시면 스레드부분 찾아보세요..
-
연분홍
잘기억이 안나지만.. runnable스레드 main스레드하고.. JVM자체 에서 쓰는게 있는데.. 기억이 안나에요..^^
-
미국녀
앗 감사합니다. 나머지 3개의 스레드는 무엇이지요? 궁금하네요..
그리고 제가 위에 적어둔게 맞습니까? 제대로 알고있는건가요? -
꽃내
엄청중요한게 빠졌습니다.
main메소드는 특별히 프로세스가 작동할 때 자동으로 생성되는 메인스레드라는 점입니다.
하나의 프로세스내에 자동으로 생성되는 스레드는 4가지가 있는데 그중에 하나입니다.