본문 바로가기

객체 지향 프로그래밍 - 참조 타입

(11)
열거(Enum) 타입 한정된 값으로 이루어진 Enum 타입 요일, 계절처럼 한정된 값을 갖는 타입 먼저 열거 타입 이름으로 소스 파일(.java)을 생성하고 한정된 값을 코드로 정의 열거 타입 이름은 첫 문자를 대문자로 하고 캐멀 스타일로 지어주는 것이 관례 출처, 이것이 자바다 package ch05.sec12; import java.util.Calendar; public class WeekExample { public static void main(String[] args) { //열겨형은 참조타입이다. //스택영역 기억생성 : 힙영역에 생성된 주소를 저장하기위한 목적 Week today= null; //날짜 관련 클래스 Calendar cal = Calendar.getInstance(); int week = cal.ge..
main() 메소드의 String[] 매개변수 용도 String[] args 매개변수의 필요성 자바 프로그램을 실행하기 위해 main() 메소드를 작성하면서 문자열 배열 형태인 String[ ] args 매개변수가 필요 프로그램 실행 시 입력값이 부족하면 길이가 0인 String 배열 참조 출처, 이것이 자바다 package ch05.sec11; public class MainStringArrayArgument { public static void main(String[] args) { //System.out.println(args.length); //main 메소드에 파라미터 2개를 제공하지 않으면, 종료 //숫자형태로 입력해야 한다. if(args.length != 2) { System.out.println("프로그램 입력값이 부족"); System...
배열 항목 반복을 위한 향상된 for 문 배열 및 컬렉션 처리에 용이한 for 문 카운터 변수와 증감식을 사용하지 않고, 항목의 개수만큼 반복한 후 자동으로 for 문을 빠져나감 출처, 이것이 자바다 for 문이 실행되면 ①배열에서 가져올 항목이 있을 경우 ②변수에 항목을 저장, ③실행문을 실행 다시 반복해서 ①배열에서 가져올 다음 항목이 존재하면 ② → ③ → ①로 진행하고, 가져올 다음 항목이 없으면 for 문을 종료 package ch05.sec10; public class AdvancedForExample { public static void main(String[] args) { int[] scores = {95, 71, 84, 93, 87}; int sum = 0; for(int i=0; i 합계: 430 sum = 0; //향상된 ..
배열 복사 배열 복사하기 배열은 한 번 생성하면 길이를 변경할 수 없음. 더 많은 저장 공간이 필요하다면 더 큰 길이의 배열을 새로 만들고 이전 배열로부터 항목들을 복사해야 함. 출처, 이것이 자바다 package ch05.sec09; public class ArrayCopyByForExample { public static void main(String[] args) { //길이가 3인 원본배열 int[] oldIntArray = {1, 2, 3}; //길이가 5인 사본배열 int[] newIntArray = new int[5]; //배열항목복사 for(int i=0; i
객체를 참조하는 배열 배열에서 객체 참조하기 기본 타입(byte, char, short, int, long, float, double, boolean) 배열은 각 항목에 값을 직접 저장 출처, 이것이 자바다 참조 타입(클래스, 인터페이스) 배열은 각 항목에 객체의 번지를 저장 출처, 이것이 자바다 package ch05.sec08; /* * 객체배열 : 참조타입으로 만든 배열(클래스, 인터페이스) */ public class ArrayReferenceObjectExample { public static void main(String[] args) { String[] strArray = new String[3]; strArray[0] = "Java"; strArray[1] = "Java"; strArray[2] = new St..
다차원 배열 다차원 배열 배열 항목에는 또 다른 배열이 대입된 배열 출처, 이것이 자바다 값 목록으로 다차원 배열 생성 값 목록으로 다차원 배열을 생성 시 배열 변수 선언 시 타입 뒤에 대괄호 [ ]를 차원의 수만큼 붙이고, 값 목록도 마찬가지로 차원의 수만큼 중괄호를 중첩 출처, 이것이 자바다 package ch05.sec07; /* * 다차원 배열 : 힙영역의 배열 기억장소는 연속적으로 생성되어 있다. */ public class MultidimensionalArrayByValueListExample { public static void main(String[] args) { //각 행마다 열의 개수가 다른 구조 : 가변배열(jagged Array) //2차원 배열 생성 int[][] scores = { {80,..
배열(Array) 타입 배열 연속된 공간에 값을 나열시키고, 각 값에 인덱스를 부여해 놓은 자료구조 인덱스는 대괄호 [ ]와 함께 사용하여 각 항목의 값을 읽거나 저장하는데 사용 출처, 이것이 자바다 배열 변수 선언 두 가지 형태로 작성. 첫 번째가 관례적인 표기 출처, 이것이 자바다 배열은 힙 영역에 생성되고 배열 변수는 힙 영역의 배열 주소를 저장 참조할 배열이 없다면 배열 변수도 null로 초기화할 수 있다 값 목록으로 배열 생성 배열에 저장될 값의 목록이 있다면, 다음과 같이 간단하게 배열을 생성할 수 있음 출처, 이것이 자바다 배열 변수를 선언한 시점과 값 목록이 대입되는 시점이 다르다면 new 타입[ ]을 중괄호 앞에 붙여줌. 타입은 배열 변수를 선언할 때 사용한 타입과 동일하게 지정 출처, 이것이 자바다 packa..
문자열(String) 타입 String 타입 문자열은 String 객체로 생성 출처, 이것이 자바다 출처, 이것이 자바다 문자열 비교 문자열 리터럴이 동일하다면 String 객체를 공유 출처, 이것이 자바다 new 연산자(객체 생성 연산자)로 직접 String 객체를 생성/대입 가능 package ch05.sec05; /* * 참조타입 : String클래스 * 참조타입 : 스택영역과 힙영역의 기억장소를 생성하여 데이터관리 * * String클래스 * 사용법> * 예1> String str1 = new String("홍길동"); 설명 : new 메모리 생성연산자가 힙영역에 메모리를 생성한 후 string("홍길동")생성자가 호출되어 생성된 메모리의 값을 초기화 한다. * 예2> String str2 = "홍길동"; 설명 : 힙영역에..