JAVA 에서 이 코드를 작성하면,==Main함수 시작==
자동차 시동 ON ...
자동차 주행 중 ...
자동차 브레이크 ...
자동차 시동 OFF.
==Main함수 끝==
위와 같은 결과가 나온다.
Main 함수가 작동되는 사이에 자동차 클래스의 메소드가 실행되고 끝난다는 의미다.
Main 함수에 생기는 변수들은 Main 함수가 실행되는 동안에만 유지되고,
자동차 Class에 있는 ‘최고속력’과 같은 변수는 자동차 객체가 생성되어 있는 동안에만 유지된다.
이와 같이 변수의 유효범위에 따라 ‘전역변수’ 와 ‘지역변수’로 구분 가능하다.
함수 외부에서 선언되어 프로그램 전체에서접근 가능한 변수.
함수 내부에서 선언되어 함수 외부에서는 접근 불가능하며,
함수 실행시에 생성되고 종료시에 소멸되는 변수 .
그렇다면 변수가 생성되는 장소는 어디일까?
위와 같이 전역변수는 main함수 실행과 함께 스택(stack) 영역에 쌓아지듯 생성된다.
하지만, 함수 실행과 종료에 따라 호출되는 지역변수들과 그 동작들은 스택 영역에 함께 쌓아지지 않는다.
‘객체’는 힙(heap) 영역에 생성되는데, 이는 객체 리모컨이 저장되는 변수와 굉장히 먼 거리에 있다.
객체의 함수를 실행할 때 호출되는 지역변수와 동작들은 해당 객체와 함께 저장되어 있다. 이를 실행하도록 하는 리모컨만 스택 영역의 ‘객체 변수’에 저장되어 있으며, 힙 영역의객체를 조종하는 것이다.
소프트웨어 분류. (0) | 2020.05.03 |
---|---|
구조적인 프로그래밍 (뉴렉처 강의) 메모 (0) | 2020.05.03 |
자바 번역기 특징 ( 뉴렉처강의 ) 메모 (0) | 2020.05.03 |
JSP란 (0) | 2020.05.01 |
전사가 무기를 여러개 다룰 수 있어야 합니다. v2 (0) | 2020.05.01 |