로컬 변수 Local Variable 라이프 사이클이라고도 한다. 초기화 후에 사용해야한다. for, if 문을 포함한 메서드 내부에서 선언된 변수이다. 주로 중괄호 내부에서 선언된다. 메서드 파라미터에 선언되는 파라미터 변수도 일종의 로컬 변수이다. 멤버 변수 Member Variable 클래스 내부, 메서드 외부에서 선언되는 변수이다. 초기화를 따로 하지 않으면 기본값으로 자동 초기화된다. 클래스 내의 생성자나 메서드 등에서 접근 가능하고 클래스 내에서 동일한 변수로 취급된다. - 클래스(정적/static) 멤버변수 - 인스턴스 멤버 변수 인스턴스가 생성될 때마다(new) 각각의 공간이 할당되어 인스턴스가 다르면 저장공간이 달라 멤버변수에 저자되는 값이 다를 수 있다. package static_va..
생성자 new 연산자로 클래스로부터 객체를 생성할 때 호출, 객체의 초기화 담당 - 객체의 초기화 : 필드를 초기화하거나 메소드를 호출해 객체를 사용할 준비하는 것 객체가 생성되면 heap 영역에 객체가 생성되고 객체의 번지가 리턴, 리턴된 번지는 클래스 변수에 저장 - 메소드와 비슷하지만 리턴타입 없고 클래스 이름과 동일 - new 연산자로 생성자 호출 시 외부의 값을 생성자 내부로 전달 기본생성자 파라미터 없음, 중괄호 블록내에 아무 코드도 없음 => 아무것도 전달받지 않으며 아무 작업도 수행하지 않음 - 모든 클래스에 생성자가 반드시 존재하고 하나 이상 가질 수 있음 생성자 오버로딩 파라미터가 다른 생성자를 여러 번 경유한다. 메서드 검색 시 매개변수로 받을 수 있는 게 종류 별로 있는 것들! 레퍼..
객체: 속성을 가지며 식별 가능한 것 클래스 객체를 나타내는 설계도 new 연산자를 통해 생성된 것이 인스턴스 객체마다 속성을 다르게 가질 수 있음 [제한자] class 클래스명 { // 멤버변수 (= 객체의 정보를 저장할 변수, 속성) // 생성자 (= 객체의 정보를 초기화하는 역할) // 메서드 (= 객체를 수행할 동작, 기능) } 클래스명 변수명; 변수명 = new 클래스명( ); 클래스명 변수명 = new 클래스명( ); Person p = new person(); int a = 10; // 과 같은 형식이라 보면 됨 class Animal { String name;// 멤버변수 int age; } public class aa { public static void ma..
2차원 배열 - 행, 열 구조로 이루어진 배열 실제 데이터가 저장되는 공간 = 열 열 공간의 주소를 저장하는 공간 = 행 배열 크기 행 크기 : 배열명.length 열 크기 : 배열명[행인덱스].length ■ ■ ■ 1행 ■ ■ ■ 2행 ■ ■ ■ 3행 1열2열3열 배열 선언 데이터타입[][] 변수명; 배열 생성 변수명 = new 데이터타입[행크기][열크기]; 배열 인덱스 접근 변수명[행인덱스][열인덱스]; int[][] array; array = new int[3][2]; int[][] arr = new int[2][3]; // 선언, 생성, 초기화를 한번에 수행 데이터타입[][] 변수명 = { {1, 2, 3} {4, 5, 6} }; // 각 배열 요소 접근 for(int i = 0; i < arr..
데이터타입[ ] 변수명; 데이터타입에 해당하는 배열 타입으로 변수(배열)을 선언 스택(stack) 영역에 배열 공간의 주소를 저장할 참조변수를 생성 데이터를 저장할 수 있는 공간은 생성되기 전이므로 데이터 저장불가 - 배열 선언시 [ ] 기호를 데이터타입 뒤 또는 변수명 뒤에 붙일 수 있으나 가급적 데이터타입 뒤에 붙여서 표기하도록 함 - 배열 크기는 고정, 크기를 확장하려면 새로운 배열을 생성하고, 기존 데이터를 새 배열에 복사 int[] arr = {10, 20, 30}; int[] arr2 = new int[4]; for(int i = 0; i < arr.length; i++) { arr2[i] = arr[i]; } arr2[3] = 40; System.out.println(arr2[3]);// 4..
반복문 내에서 반복문을 제어하는 데 사용 주로 조건식과 결합하여 사용 1. break 현재 수행중인 반복문을 종료하고 빠져나가는 데 사용 break 문을 만나면 반복문 내의 break 문보다 아래쪽 문장 실행을 생략하고, 즉시 반복문을 빠져나감 2. continue 현재 수행중인 반복문의 특정문장 실행을 생략하는 데 사용 현재 수행중인 반복문의 continue 문보다 아래쪽문장 실행을 생략하고 다음 반복을 진행하기 위해 위로 점프 for 문에서 continue문은 증감식으로 이동하며, while 문은 조건식으로 이동 int i = 1; while(i
while문 내에 또다른 while문을 기술하여 반복 문장을 만드는 문 // while문 초기식1;// (없으면 무한루프) wile( 조건식1 ){ 실행문1; 초기식2; while( 조건식2 ){ 실행문2; 증감식2; } 증감식1; } // for문 for(초기식1; 조건식1; 증감식1){ for(초기식2; 조건식; 증감식2){ } } // 시계 만들기 for(int i = 0; i < 24; i++) { for(int j = 0; j < 60; j++) { for(int k = 0; k < 60; k++) { System.out.println(i+"시 "+j+"분 "+k+"초"); } } } * ** *** **** ***** for(int i = 1; i
반복문 loop - 특정 문장이나 블럭을 조건으로 반복 실행하는 문 - for, while, do-while문 - for 문과 while문은 문법적 구조는 다르지만 동작 방식이 동일해 상호 전환이 가능하다. while - 조건식의 위치 고정 - 초기식은 while 문보다 윗쪽이 위치, 증감식은 while문의 안쪽에 위치 - 반복 횟수를 알 수 없을 때 주로 사용! 초기식; while (조건식){ // 조건식이 true일 동안 반복할 실행문; // 증감식; } int i = 0; while ( i < 10 ) { System.out.println(i + "회"); i++; }// 출력은 9까지 됐지만 i 값은 10 i = 2; while(i