본문 바로가기

분류 전체보기

(20)
5.6.10_ 향상된 for문 -배열을 반복실행하기 위해 for(int i; i
5.6.9_배열복사 -배열은 한 번 생성하면 크기를 변경할 수 없다. -더 많은 저장 공간이 필요하다면? 보다 큰 배열을 새로 만들고 이전 배열로부터 값들을 복사해야 한다. 예를들어 길이가 2인 배열이 있다. x y 여기서 z를 추가로 넣고 싶을 땐 세 칸짜리 배열을 만들고 위의 배열 을 복사 한 후, x y z를 집어넣는다 x y z 배열 간의 항목 값을들 복사하는 방법 세 가지 1. for문 이용 2. System.arraycopy() 메소드 3. Arrays 클래스 이용 (기본API클래스에서 설명) 1. for문으로 배열 복사 package sec06.exam07_array_copy; public class ArrayCopyByForExample { public static void main(String[] args)..
5.6.8_객체를 참조하는 배열 기본타입(int, double...)배열은 각 항목에 직접 값을 갖고 있지만, 참조타입(클래스, 인터페이스..) 배열은 각 항목에 객체의 번지를 가지고 있다. 예를들어 String은 클래스타입이므로 String[]배열은 각 항목에 문자열이 아니라 String 객체의 주소를 가지고 있다. String 배열을 만들어보자. String[] StrArray = new String[3]; StrArray[0] = "java"; StrArray[1] = "C"; StrArray[2] = "C#"; (예제를 보기전에) 비교 연산자 두 가지 == :참조하는 객체의 주소가 같은지 확인 (= 같은 객체를 참조하고 있는가?) a.equals(b) : 객체a와 b의 문자열이 같은지 확인 (다른 객체를 참조해도 문자열이 같으면..
5.6.7_다차원 배열 자바는 1차원 배열을 이용해서 2차원 배열을 구현한다. 2차원 배열 생성 배열 길이만 입력하고 생성하는 방법 int[][] 배열이름 = new int[길이][길이] 값목록으로 생성하는 방법 타입[][] 변수 = { {값1,값2,...}, {값1, 값2,...} }; 이름이 scores인 2차원 배열을 만들어보자. int[][] scores = new int[2][3] 길이가 다른 배열도 생성 할 수 있다. int[][] scores = new int[2][]; scores[0] = new int[3]; scpres[1] = new int[2]; 배열 변수인 scores는 길이 2인 배열A를 참조한다. 배열A의 scores[0]은 다시 길이 3인 배열B를 참조한다. 배열A의 scores[1]은 다시 길이 ..
5.6.6_커맨드 라인 입력 메인 메서드에 항상 포함되어 있는 이것. public static void main(String[] args) public으로 선언된 이름이 main인 정적 메서드이다. 매개변수는 String을 타입으로 하는 배열 args 이다. main은 컴파일러가 패키지 안에 클래스 중 제일 먼저 찾아가야 하는 메서드라는 의미. "java 클래스"로 프로그램을 실행하면 길이가 0인 String 배열(이름은 args)을 먼저 생성한 후 String[] args = { }; 메서드를 호출할 때 매개 값으로 전달한다. 만약 "java 클래스" 뒤에 공백으로 구분된 문자열 목록을 주고 실행하면, (java 클래스 문자열 0 문자열 1 문자열 2.. 문자열 n-1) 문자열 목록으로 구성된 String [] 배열이 생성되고 메..
5.6.1~5_배열, 배열 선언, 배열길이 배열이란? -같은 타입의 데이터를 연속된 공간에 저장하는 자료구조 -각 데이터에 인덱스(index)를 부여해놓은 자료 구조 예를들어 학생들의 성적은 다음과 같이 배열로 나타 낼 수 있다. 점수 78 49 90 78 99 84 인덱스 0 1 2 3 4 5 -각 데이터 저장 위치는 인덱스를 부여해서 접근 할 수 있다. -배열변수는 참조변수에 속한다. 배열 읽기 배열이름[인덱스] 위의 score 배열을 예시로 들면 score[2]//90을 값으로 가진다. 배열선언 -배열을 사용하기 위해서는 우선 배열을 선언해야 한다. -배열 변수 선언은 다음 두 가지 형태로 작성 할 수 있다. 타입[] 변수; 타입 변수[]; 보통 위의 방법이 일반적이다. int[] intArray; int[] doubleArray; Stri..
5.1_ 데이터 타입 분류 참조타입이란 [객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입을 말한다. ] 기본 타입 vs 참조 타입 기본타입 ㄴ정수, 실수, 논리 리터럴을 저장하는 타입 정수타입 - byte, char, short, int, long 실수타입 - float, double 논리타입 - boolean - 실제 값을 변수 안에 저장 참조타입 ㄴ객체의 번지를 참조 하는 타입 배열타입 열거타입 클래스 인터페이스 -메모리의 번지를 값으로 갖는다. int age = 25; double price = 100.5; 정수, 실수 기본타입으로 값을 직접 Stack영역에 저장한다. String name = "자바" String hobby = "넷플릭스" String 클래스 변수인 name과 hobby는 힙 영역에 ..
6.5 클래스의 구성 멤버 클래스 구성멤버 1. 필드(Field): 객체의 데이터가 저장되는 곳 2. 생성자(Constructor): 객체 생성 시 초기화 역할 담당 3. 메소드(Method): 객체의 동작에 해당하는 실행 블록 public class ClassName{ //1. 필드 String fieldNAme; //2. 생성자 ClassName(){... } //3. 메소드 void methodName(){... } } 6.5.1_필드 필드는 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳. 변수과 다르다. 변수는 생정자와 메소드내에서만 사용 생성자와 메소드가 실행 종료되면 자동 소멸 but 필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 계속 쓰임 6.5.2_생성자 생성자는 new 연산자로 호출..