Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 27 |
28 | 29 | 30 |
Tags
- java 자료구조 활용
- 인터프린터언어
- 격파르타장점
- java map 저장
- sqld자격증합격
- java기본자료형
- 컴파일
- 노베이스부트캠프
- java list 저장
- 프로그래머스제일작은수
- java list 출력
- java최솟값구하기
- 격파르타비전공자
- 항해99후기
- java map
- java알고리즘
- 항해15기
- 격파르타합격후기
- java set 출력
- 프로그래머스
- java알고리즘문제풀이
- java참조자료형
- java map 출력
- 작은수제거하기
- 격파르타후기
- javaJVM
- 코딩부트캠프후기
- java set 저장
- 비전공자sqld
- javaJRE
Archives
- Today
- Total
코딩과 결혼합니다
230917 - 자바의 정석 chapter 06 (261p ~307p) 본문
728x90
⭐JVM 메모리 구조
- 메서드 영역 : 클래스에 대한 정보를 저장
- 힙 : 실행 중 생성되는 인스턴스는 모두 이곳에서 생성
- 호출스택 : 메서드가 작업을 수행하는 동안 지역변수들과 연산의 중간결과 등을 저장
호출스택+
- 메서드가 호출되면 수행이 필요한 만큼의 메모리를 스택에 할당받는다.
- 메서드가 수행을 마치고 나면 사용했던 메모리를 반환하고 스택에서 제거된다.
- 호출스택의 제일 위에 있는 메서드가 현재 실행 중인 메서드이다.
- 아래에 있는 메서드가 바로 위의 메서드를 호출한 메서드이다.
⭐매개변수
- 기본형 매개변수
- 변수의 값을 읽기만 할 수 있다.
- 변수의 값을 변경을 하였을 때, 원본이 아닌 복사본이 변경된 것이라 원본에는 아무런 영향을 미치지 못하는 것.
- 참조형 매개변수
- 변수의 값을 읽고 변경할 수 있다.
- 저장된 곳의 주소를 알 수 있기 때문에 값을 읽어 오는 것은 물론 값을 변경하는 것도 가능
⭐재귀호출
- 메서드의 내부에서 메서드 자신을 다시 호출하는 것으로 재귀호출을 하는 메서드는 '재귀 메서드'라 한다.
- 반복문보다 재귀호출의 수행시간이 더 오래 걸린다.
- 하지만 논리적 간결함 때문에 쓰이기도 한다.
- 재귀호출은 비효율적이므로 재귀호출에 드는 비용보다 재귀호출의 간결함이 주는 이득이 충분히 큰 경우에 사용
⭐메서드
- 클래스 메서드(static 메서드)
- static이 붙어 있으면 클래스 메서드
- 인스턴스와 관계없는 메서드를 클래스 메서드로 정의
- 인스턴스 메서드
- 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드
⭐오버로딩
- 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 = '메서드 오버로딩' , 또는 '오버로딩'이라 한다.
- 조건
- 메서드 이름이 같아야 한다.
- 매개변수의 개수 또는 타입이 달라야 한다.
- 가변인자와 오버로딩
- 가변인자는 '타입... 변수명'과 같은 형식으로 선언
- 가변인지 외에도 매개변수가 더 있다면, 가변인자를 매개변수 중에서 제일 마지막에 선언해야 한다.
⭐생성자
- 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'
- 기본 생성자 : 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다. 컴파일러가 자동으로 생성자를 추가해 주지만 '클래스 내에 생성자가 하나도 없을 때'에 한해서 이다.
- 매개변수가 있는 생성자 : 인스턴스를 생성하는 동시에 원하는 값으로 초기화할 수 있게 된다.
- 생성자에서 다른 생성자 호출하기 - this(), this
- 생성자의 이름으로 클래스이름 대신 this를 사용한다.
- 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출이 가능하다.
- this 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다.
- this() 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용한다.
⭐변수의 초기화
- 변수를 선언하고 처음으로 값을 저장하는 것. 가능하면 선언과 동시에 적절한 값으로 초기화하는 것이 바람직하다.
- 멤버변수(클래스변수, 인스턴스변수)와 배열의 초기화는 선택적이지만, 지역변수의 초기화는 필수적이다.
- 명시적 초기화 : 변수를 선언과 동시에 초기화
- 초기화 블럭
- 클래스 초기화 블럭 : 클래스변수의 복잡한 초기화에 사용
- 인스턴스 초기화 블럭 : 인스턴스변수의 복잡한 초기화에 사용
'2세 > Java' 카테고리의 다른 글
230919 - 자바의 정석 chapter 07 (362p ~411p) (0) | 2023.09.19 |
---|---|
230918 - 자바의 정석 chapter 07 (308~361p) (0) | 2023.09.18 |
230916 - 자바의 정석 chapter 06 (230p ~260p) (0) | 2023.09.16 |
230713 - JAVA : 객체지향 프로그래밍 (0) | 2023.07.13 |
230624 - 생성자에 대한 복습(JAVA 문법 종합반 3주차) (4) | 2023.06.24 |