5장. 참조 타입.

Slides:



Advertisements
Similar presentations
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
Advertisements

ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
제 9 장 포인터.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
제 9 장 구조체와 공용체.
-Part2- 제3장 포인터란 무엇인가.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
자료 구조: Chapter 3 (2)구조체, 포인터
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
5장 배열 작성자 : 변재현.
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 6. 형변환.
C 프로그래밍.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
6장. 클래스.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
23장. 구조체와 사용자 정의 자료형 2.
14. 예외처리.
10장. 예외처리.
자바 5.0 프로그래밍.
11장. 1차원 배열.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
C#.
JA A V W. 03.
인터넷응용프로그래밍 JavaScript(Intro).
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
8주차: Strings, Arrays and Pointers
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
JAVA 프로그래밍 2장 자바의 데이터타입.
CHAP 21. 전화, SMS, 주소록.
Canary value 스택 가드(Stack Guard).
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
[ 단원 04 ] 반복과 배열.
데이터 동적 할당 Collection class.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
7주차: Functions and Arrays
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
발표자 : 이지연 Programming Systems Lab.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
Summary of Pointers and Arrays
Numerical Analysis Programming using NRs
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
어서와 C언어는 처음이지 제21장.
13. 포인터와 배열! 함께 이해하기.
Pointers summary.
7 생성자 함수.
6 객체.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

5장. 참조 타입

1절. 데이터 타입 분류 2절. 메모리 사용 영역 3절. 참조 변수의 ==, != 연산 4절. null과 NullPointerException 5절. String 타입 6절. 배열 타입 7절. 열거 타입

1절. 데이터 타입 분류 데이터 타입 분류

1절. 데이터 타입 분류 변수의 메모리 사용 기본 타입 변수 – 실제 값을 변수 안에 저장 참조 타입 변수 – 주소를 통해 객체 참조

2절. 메모리 사용 영역 JVM이 사용하는 메모리 영역 OS에서 할당 받은 메모리 영역(Runtime Data Area)을 세 영역으 로 구분

2절. 메모리 사용 영역 JVM이 사용하는 메모리 영역 (p.140~142) 메소드 영역 힙 영역 JVM 스택 로딩된 클래스 바이트 코드 내용을 분석 후 저장 모든 스레드가 공유 힙 영역 객체/배열 저장 사용되지 않는 객체는 Garbage Collector 가 자동 제거 JVM 스택 스레드 별 생성 메소드 호출할 때마다 Frame을 스택에 추가(push) 메소드 종료하면 Frame 제거(pop)

3절. 참조 변수의 ==, != 연산 변수의 값이 같은지 다른지 비교 기본 타입: byte, char, short, int, long, float, double, boolean 의미 : 변수의 값이 같은지 다른지 조사 참조 타입: 배열, 열거, 클래스, 인터페이스 의미 : 동일한 객체를 참조하는지 다른 객체를 참조하는지 조사

4절. null과 NullPointerException 변수가 참조하는 객체가 없을 경우 초기값으로 사용 가능 참조 타입의 변수에만 저장가능 null로 초기화된 참조 변수는 스택 영역 생성 ==, != 연산 가능

4절. null과 NullPointerException 사용자의 잘못된 조작 이나 잘못된 코딩으로 인해 발생하는 프로그램 오류 NullPointerException 참조 변수가 null 값을 가지고 있을 때 객체의 필드나 메소드를 사용하려고 했을 때 발생

5절. String 타입 String 타입 (p.145~148) 문자열을 저장하는 클래스 타입

5절. String 타입 String 타입 (p.145~148) 문자열 리터럴 동일하다면 String 객체 공유 new 연산자를 이용한 String 객체 생성 힙 영역에 새로운 String 객체 생성 String 객체를 생성한 후 번지 리턴

6절. 배열 타입 배열이란? 같은 타입의 데이터를 연속된 공간에 저장하는 자료구조 각 데이터 저장 위치는 인덱스 부여해 접근 항목 접근: 배열이름[인덱스] ex) score[0], score[3]

6절. 배열 타입 배열의 장점 중복된 변수 선언 줄이기 위해 사용 반복문 이용해 요소들을 쉽게 처리

6절. 배열 타입 배열 선언 배열을 사용하기 위해 우선 배열 변수 선언 배열 변수는 참조 변수 - 배열 생성되기 전 null로 초기화 가능 배열 변수가 null 값을 가진 상태에서 항목에 접근 불가 변수[인덱스]” 못함 NullPointerException 발생

6절. 배열 타입 값 목록으로 배열 생성하는 방법 변수 선언과 동시에 값 목록 대입 변수 선언 후 값 목록 대입

6절. 배열 타입 new 연산자로 배열 생성 배열 생성시 값 목록을 가지고 있지 않음 향후 값들을 저장할 배열을 미리 생성하고 싶을 경우

6절. 배열 타입 타입 별 항목의 기본값

6절. 배열 타입 배열의 길이 배열에 저장할 수 있는 전체 항목 수 코드에서 배열의 길이 얻는 방법 배열의 길이는 읽기 전용 배열의 길이는 for문의 조건식에서 주로 사용

6절. 배열 타입 커맨드 라인 입력 배열의 선언과 사용

6절. 배열 타입 다차원 배열 2차원 배열 이상의 배열 자바는 1차원 배열을 이용해 2차원 배열 구현 수학의 행렬과 같은 자료 구조 자바는 1차원 배열을 이용해 2차원 배열 구현

6절. 배열 타입 객체를 참조하는 배열 기본 타입(byte, char, short, int, long, float, double, boolean) 배열 각 항목에 직접 값을 가지고 있음 참조 타입(클래스, 인터페이스) 배열 - 각 항목에 객체의 번지 가짐

6절. 배열 타입 배열 복사 배열 복사 방법 배열은 한 번 생성하면 크기 변경 불가 더 많은 저장 공간이 필요하다면 보다 큰 배열을 새로 만들고 이전 배 열로부터 항목 값들을 복사 배열 복사 방법 for문 이용 System.arrayCopy() 메소드 이용 Arrays 클래스 이용

6절. 배열 타입 향상된 for 문 배열 및 컬렉션(15장에서 다룸)의 항목 요소를 순차적으로 처리 인덱스 이용하지 않고 바로 항목 요소 반복

7절. 열거 타입 열거 타입(Enumeration Type) 한정된 값만을 갖는 데이터 타입 한정된 값은 열거 상수(Enumeration Constant)로 정의

7절. 열거 타입 열거 타입 선언 파일 이름과 동일한 이름으로 다음과 같이 선언 (첫 글자 대문자) 한정된 값인 열거 상수 정의 열거 상수 이름은 관례적으로 모두 대문자로 작성 다른 단어가 결합된 이름일 경우 관례적으로 밑줄( _ )로 연결

7절. 열거 타입 열거 타입 변수 열거 타입 변수 선언 열거 상수 값 저장 - 열거 타입 변수값은 열거 상수 중 하나 열거 타입 변수는 참조 타입 열거 타입 변수는 참조 타입이므로 null 값 저장 가능

7절. 열거 타입 열거 객체의 메소드 (p.176~180) 열거 객체는 열거 상수의 문자열을 내부 데이터로 가지고 있음 열거 타입은 컴파일 시 java.lang.Enum 클래스를 자동 상속 열거 객체는 java.lang.Enum 클래스의 메소드 사용 가능