20.03 ~ 20.08 국비교육 83

변수 유효범위

1)변수의 영역 {a {a b {a b } }//b(o) }//a, b(x) : 변수는 블록 밖으로 나올 수 없다. 수평한 블록 간(안기지 않은)에 변수를 가져오려면 함수화(stack복사)가 필요하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class Variable { String movie = "트로이"; // 멤버변수, 전역변수 public void show() { System.out.println("show 메소드 영역: " + movie); } public void title() { String movie = "바람의 전설"; System.out.println("title 메소드 영역: " + movie); //자기거 우선 Syst..

싱글톤(Singletone pattern), final

: 영역은 하나인데, 해당 영역을 사용하는 변수가 두 개 이상인 경우를 말한다. ->static 영역은 최초 한 번만 메모리를 할당하고 그 메모리에 객체를 만들어 사용하는데(메소드와 변수는 인스턴스를 생성하지 않고 즉시 사용), 이 경우 해당 영역을 사용하는 변수가 두 개 이상이 되면 메소드를 처리할 마다 변수, 함수가 날아가버린다(사용하고 버려짐). 순차적으로 작업을 처리할 때 주로 사용한다.(stateless stateful) ex. 한 반의 30명의 학생들의 성적을 한 번에 처리할 수 있다. -장점: 메모리를 획기적으로 줄일 수 있다. -단점: 이전의 상태로 되돌아갈 수 없다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26..

클래스 JVM 메모리 운영, Static variable과 Method

1. 지역 변수(함수 내) 2. 멤버 변수(전역변수, 함수 외) 3. 클래스 변수(static 내부) 실행 소스 code segment data segment 상수 - 기본값 O, 기본값 X 문자열 static - 변수, 메소드 -로드시 바로 메모리를 할당받음(인스턴스 생성 불필요) -> 진행속도가 빠르다. -1회만 생성, 모든 인스턴스가 같이 사용 -> 공유변수 -클래스 변수(를 직접 호출) heap 객체영역(인스턴스를 할당하는 메모리 영역) -멤버변수 -멤버 메소드 데이터 저장 -멤버변수, 지속성 -garbage collection(자동 메모리 수거) stack 메소드 실행영역 ------------------------------------ method(); 실행 뒤 바로 사라짐 -지역변수, 메소드..

Call by value vs Call by reference

call by value 호출 값으로 함수 인자가 기본형 1) 값에 의한 호출, 변수값이 기본형 데이터인 값으로 호출한다. 2) 실인자(가인자)가 변경되어도 가인자(실인자)에 영향이 없다.★ call by reference public int add(int a, int b) -> 가인자 { return a + b; } 함수 영역 a b 가인자 --------------------------------- 호출 영역 a b 실인자 int a = 10; int b = 20; add(a, b); 실인자(main 안의 지역변수) -> a, b -> stack 복사 -> int a, int b -> 처리식(a + b) -> 호출영역 add(a, b) 반환 call by value는 기본적으로 함수를 넣어서 파라미터..

클래스 멤버 메소드

=메소드 정의하기(처음엔 외우는 수밖에 없다.) //접근자 반환형 함수명( [받는 인자들]: 인자는 0개 이상, 생략 가능한 인자는 []로 묶음 ) { 받은 인자 처리; return 반환값; ---> 생략 가능(반환값이 없는 함수도 있기 때문 ex.void) }// -> 함수영역(메소드 영역) 규칙1. 함수는 정의만으로 실행되지 않고, 호출(call)할 때 실행된다. 규칙2. 함수(메소드)는 call할 때마다 실행된다(가장 작은 단위의 재활용). 규칙3. 호출하는 쪽 인자는 실인자, 호출받는 쪽 인자는 가인자(실인자를 받음) 실인자와 가인자는 데이터 형이 일치해야 한다. 규칙4. 반환형과 반환값은 데이터 형이 일치한다. 규칙5. 함수는 실행될 때 stack영역을 사용한다. 규칙6. 리턴(반환)이 없는 메..