본문 바로가기

Java

(497)
7-1장 필드 1. 필드와 지역 변수의 구분 - 필드(filed) - 클래스에 포함된 변수 - 객체의 속성값 지정 - 힙 메모리의 객체 내부 생성 - 힙 메모리의 객체 안에 저장되는 필드는 객체가 사라지지 않는 한 절대로 삭제되지 않음 - 지역 변수 - 메서드에 포함된 변수 - 스택 메모리에 생성 - 자신이 선언된 메서드의 중괄호가 닫혀 메서드가 종료되면, 그 메서드 안에 선언된 모든 지역 변수가 메모리에서 통째로 삭제 class A { int m =3; //상위 중괄호가 클래스일때는 필드 int n = 4; void work1(){ int k=5; //상위 중괄호가 메서드일 때는 지역변수 System.out.println(k); work2(3); } void work2(int i) { //상위 중괄호가 메서드일 때는..
6-2장 객체의 생성과 활용 1. 객체 생성하기 1) 클래스의 객체 생성 - 모든 클래스가 객체를 new 키워드로 생성 - 클래스명 참조 변수명 = new 생성자(); A a = new A(); - 참조 변수 : 실제 데이터가 있는 힙 메모리의 위칫값을 가리키는 변수 - new 키워드 : ~을 힙 메모리에 넣어라 . 생성자의 결과물로 나온 객체를 힙 메모리에 넣음 - 생성자 : 생성자가 실행되면 클래스의 객체 생성 - A() 생성자로 만든 객체를 힙 메모리에 넣고, 위칫값을 A타입의 참조 변수 a에 저장하라 2) 객체 생성에 따른 메모리 구조 - 클래스 A는 메모리의 클래스 영역 참조 변수는 스택 영역에 들어감 - 내부 공간에는 실제 데이터(객체)의 위칫값 저장 - 생성자로 만들어진 객체는 힙 메모리에 위치 - 객체 내부에는 클래스..
6-1 장 클래스와 객체의 개념 1. 클래스의 개념 알아보기 - 객체 : 사용할 수 있는 실체 - 클래스 : 객체를 만들기 위한 설계도 - 1개의 정의된 클래스를 이용해 여러 개의 객체를 만들 수 있음 2. 절차 지향과 객체 지향 이해하기 1) 절차 지향형 프로그래밍 (PP:Procedural Programming) : 순서에 맞춰 단계적으로 실행하도록 명령어를 나열하는 방식 ex) 절차 1. 자동차의 컬러와 엔진의 종류를 지정 절차 2. 운전자의 이름과 면허 번호를 지정 절차 3. 운전자는 자동차를 운전한다. 절차 4. 장애물 감지 (yes면 절차 5로 no면 절차 3으로) 절차 5. 운전자는 자동차를 정지한다 2) 객체 지향형 프로그래밍(OOP:Object-Oriented Programming) : 프로그램을 객체 단위로 수행하는 ..
5-2장 문자열을 저장하는 String 1. 문자열의 표현과 객체 생성 - 실제 데이터인 String 객체는 힙 메모리에 위치하고 참조 변수는 힙 메모리의 실제 객체 위치를 가리키게 됨 1) String 클래스의 객체 생성방빕 1 - String 참조 변수명 = new String("문자열"); String str = new String("안녕"); - String 클래스의 생성자 - new 키워드 : 실제 데이터가 힙 메모리에 위치 2) String 클래스의 객체 생성방법 2 - 간단히 문자열 리터럴, 즉 문자열 값만 입력하는 방법 - String 참조 변수명 = "문자열"; String str = "안녕"; 2. String 클래스의 2가지 특징 1) 객체 안의 값을 변경하면 새로운 객체를 생성 -String 객체는 내부에 포함된 문자열을..
5-1장 배열 (2) 1. 2차원 정방 행렬 배열 - 2차원 배열 : 가로 및 세로 방향의 2차원으로 데이터를 저장하는 배열 - 2차원 정방 행렬 : 모든 행의 길이가 같은 배열 a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] - 자료형 [] [] 변수명 int[][] a; double[][] b; String[][] c; - 대괄호 안에는 배열의 인덱스가 들어감 - 세로 방향으로 숫자가 늘어나는 행(row)번호와 가로 방향으로 숫자가 늘어나는 열(column)번호로 구성 - 메모리는 2차원 데이터를 바로 저장할 수 없다!! - 2차원 데이터를 1차원 데이터들로 나눠 저장 - 2차원 배열은 1차원 배열을..
5-1장 배열(1) 1. 배열이란? - 동일한 자료형을 묶어 저장하는 참조 자료형 - 생성할 때 크기 지정 - 한 번 크기를 지정하면 절대 변경할 수 없음 2. 배열 생성하기 1) 배열 선언하기 -자료형[]변수명 int[] a; //int 자료형만 저장 가능한 배열 double[] a; //double 자료형만 저장 가능한 배열 String[] a; //String 자료형만 저장 가능한 배열 - 배열을 선언하면 스택 메모리에 변수의 공간만 생성하고, 공간 안은 비운채로 둠 - 아직 배열의 실제 데이터인 객체를 생성하지 않았기 때문 - 스택 메모리에 위치하고 있는 참조 자료형 변수의 빈공간을 초기화할 때는 null값 사용 - null값 : 힙 메모리의 위치(번지)를 가리키고 있지 않다. 2) 힙 메모리에 배열의 객체 생성하기..
4-2장 제어 키워드 1. break 키워드 - 반복문에서 특정 조건을 만족할 때 반복문을 탈출하는 데 사용 - 반복문 안에 break만 단독으로 사용된 예 for(int i=0;i for 문의 반복횟수와 상관없이 단 하나의 출력만 실행 - 반복문 안에 if문과 함께 break가 사용된 예 for(int i=0; i
4-1장 제어문 (2) 반복문 1. for 반복 제어문 - 실행 구문을 반복적으로 수행하는 반복 제어문 - 반복 횟수가 정해질 때 주로 사용 - for문의 구성 for(초기식 ; 조건식 ; 증감식) { 실행 구문; //조건식이 true인 동안 실행 } - 초기식 : for문이 시작될 때 딱 한번 실행되고 다시는 실행되지 않음. for문안에서만 사용할 변수는 주로 초기식에서 초기화 - 조건식 : 실행 구문으로 들어가기 위한 유일한 출입구로, 이 조건식의 결과가 true가 나오는 동안은 실행구문을 계속 반복 : 만일 조건식이 false가 나오면 더 이상 반복을 수행하지 않고 for문을 빠져나감 - 증감식 : for문의 실행 구문이 모두 수행된 후 닫힌 중괄호(})를 만나면 다음 번 반복을 위해 다시 이동하는 위치로 매회 반복이 수행될때 ..