jvm 메모리 구조
method Area(Class Area)
- static이 붙어있는 것들의 영역
- 프로그램 실행시 먼저 생성되어 프로그램 종료까지 남아있음
Call stack
- 현재 실행중인 메서드들이 차지하는 메모리 영역, 지역변수 또한..
- 스택을 여러개로 구성해서 사용가능 > multi thread, single thread(일꾼)
Heap
- new로 생성되는 것들의 영역
Native
- c / c++과 연동하는 작업을함
- 명령어 중 native 키워드가 붙어있는 것들을 사용할때 사용되는 메모리영역
메서드 인자 정달 방식
자바의 인자 전달 방식 (argument passing)은 "값의 의한 호출 : Call-by-value"이다
호출하는 실제 인자의 값이 복사되어 메서드의 파라미터에게 전달된다.
- 기본형값 전달
- read only
- 값만 복사해줌
- 원본회손 없음
- 참조형값 전달
- read & write
- 객체의 레퍼런스(주소값)이 복사되어 전달
재귀 호출 (recursive call)
메서드 안에서 자기자신인 메서드를 다시 호출하는것을 말함
반복문으로 바꿀 수 있고, 반복문보다 재귀가 성능이 더 좋다
코드는 간결하나, 이해하기 어렵다
메서드 오버로딩 (method overloading)
한 클래스 안에, 이름이 같지만 매개변수의 타입이나 개수가 서로 다른 여러개의 메서드를 중복작성 가능하게 해주는 문법중의 하나.
자바 다형성의 한경우
조건
- 메서드 이름이 동일해야함
- 매개변수의 개수나 데이타입이 서로 달라야함
- ❗주의
- 매개변수의 이름이 다른것은 조건에 해당안됨
- 리턴타입은 오버로딩 조건에 해당 안됨
'basic > java 이론' 카테고리의 다른 글
day 12 - 상속 inheritance (0) | 2021.05.07 |
---|---|
day11 - 생성자 constructor, 접근지정자 (0) | 2021.05.06 |
day 09 - 메소드 (method) (0) | 2021.05.03 |
day08 - [객체지향,class,객체,변수의종류[클래스변수,인스턴스변수,지역변수]] (0) | 2021.04.30 |
day07 - 다차원 배열(정방배열, 비정방배열) (0) | 2021.04.29 |