반응형

프로그래밍/java 40

[자바JAVA] 객채 배열(초기화, 저장구조)

객체 배열 레퍼런스 변수에 대한 배열 배열로 동일한 타입의 여런 인스턴스들을 관리하며 연속 처리 할 수 있어서 유용함. 클래스명 배열명[] = new 클래스명[배열크기]; 1. 초기화 방법 인덱스를 이용한 초기화 배열명[] = new 클래스명(); Car[] carArray = new Car[5]; carArray[0] = new Car("페라리", 300); carArray[1] = new Car("람보르기니", 350); carArray[2] = new Car("롤스로이스", 250); 선언과 동시에 할당 및 초기화 클래스명 배열명[ ] = {new 클래스명(), new 클래스명()}; Car[] carArray = {new Car("페라리", 300), new Car("람보르기니", 350), ne..

[자바JAVA] 변수의 종류(지역변수, 전역변수, 매개변수, 클래스 변수)

변수의 종류 1. 클래스 변수 - static 키워드를 가지고 필드에 선언하는 변수 = 정적 필드 (메모리의 static영역 사용) - 프로그램 시작시 생성, 프로그램 종료시 소멸 2. 멤버 변수(인스턴스 변수) - static 키워드 없이 필드에 선언하는 변수 (메모리의 heap영역 사용) - 인스턴스 생성 시 생성, 참조하지 않을시 소멸(가비지컬렉터가 소멸시킴) 3. 지역 변수 - 메소드, 생성자, 초기화 블록 내부에서 선언하는 변수 - 메소드 호출 시 생성, 메소드 종료시 소멸 public class KindsOfVariable { 클래스 영역의 시작 (1) 클래스 영역에 작성하는 변수를 필드라고 함 (2) 인스턴스 변수(=전역변수) private int globalNum; (3) 클래스 변수(=정..

[자바JAVA] Final & static ( 필드, 메소드)

final 변경 불가의 의미를 담고 있는 키워드 클래스 필드의 final 변수는 선언과 동시에 초기화 하거나 생성자를 통한 초기화를 해야 함( 인스턴스 생성만 하면 기본 값 0이 필드에 들어가기 떄문에) (1) 선언과 동시에 초기화 하기 private final int NON_STATIC_NUM = 1; (2) 생성자를 이용해 초기화 하기 private final String NON_STATIC_NAME; public Test(String nonStaticName) { this.NON_STATIC_NAME = nonStaticName; } (3) static field에 final사용 private static final int STATIC_NUM = 1; 생성자의 이용한 초기화는 불가능. static은..

[자바JAVA] 파라미터(parameter)_가변파라미터

파라미터 public void method( "박보검", 5 ) 에서 박보검, 5를 파라미터라고 한다. 즉 메소드 수행에 필요한 입력값을 저장하는 변수(매개변수)이다. 메소드의 파라미터 선언부에는 다양한 종류의 값을 인자로 전달하여 호출 가능하다 매개변수(parameter)로 사용 가능한 자료형 기본자료형 기본자료형 배열 클래스자료형 클래스자료형 배열 가변인자 가변 인자 test (1) 가변 변수 작성 public void Parameter(String name, String... hobby) { => 가변길이의 배열은 몇 개가 매개변수로 절달 될지 모르기 때문에 이름과 구분하기 위해 뒤쪽에 작성해야한다. (앞쪽에 작성하면 오류, 중간에 있어도 오류, 여러개 사용해도 오류) System.out.print..

[자바JAVA] 오버로딩 (Overloading)

1 . 오버로딩 자바에서는 파라미터 갯수가 다르면 다른 메소드로 인식을 한다. 동일한 메소드명으로 다양한 종류의 매개변수에 따라 다르게 처리해야하는 것을 관리하기 위해 사용하는 기술 동일한 메소드명의 매개변수인 타입, 개수, 순서를 다르게 작성 (메소드의 시그니처가 다르지만 메소드 명은 같게 함) 2 . 오버로딩의 사용 이유 동일한 이름으로 다양한 종류의 매개변수에 따라 처리해야 하는 여러 메소드를 동일한 이름으로 관리하기 위해 사용 3 . 오버로딩의 조건 시그니쳐 중 메소드 이름은 동일하게 작성하고 파라미터 선언부를 다르게 작성 해야 오버로딩이 성립됨 메소드의 시그니쳐? 메소드의 메소드명과 파라미터 선언 부분 ex) public void mehod(int num) {} => method(int num)..

[자바JAVA] 객체 지향 언어(OOP) & DTO 작성 방법

객체 지향 프로그래밍 현실 세계의 모든 사건을 객체와 객체의 상호작용에 의해 일어난다는 세계관을 프로그램을 만들 때 이용하여 새로운 세계를 창조하는 방법론이다. 추상화 공통된 부분을 추출, 공통되지 않은 부분은 제거 유연성 확보하여 재사용성을 높임 오류 발생 가능성 감소, 유지보수성을 증가시킴 DT0 (Data Transfer Object) 매번추상화를 하지 않아도 되는 객체 행위가 아닌 데이터를 하나로 뭉치기 위한 객체(Data Transfer Object) 캡슐화의 원칙 준수하여 모든 필드를 private 직접 접근을 막고 각 필드 값을 변경하거나 반환하는 메소드를 세트로 작성 private 필드와 필드값을 수정하는 생정자(setter), 필드에 접근하는 접근자(getter)들로 구성함. 데이터를 주..

[자바JAVA] 클래스(class)_객체 생성, 전역변수, 접근제한자, this.

클래스 서로 다른 자료형의 데이터들을 사용자(개발자) 정의로 하나로 묶어 새로운 타입을 정의 클래스 내부에 메소드를 작성하지 않고 바로 변수 선언이 가능 - > 전역변수(=필드=인스턴스변수=속성) 객체 생성 방법 : 클래스명 레퍼런스명 = new 클래스명(); 다른 곳에서 클래스의 필드에 접근하기 위해 ' . ' (참조연산자)을 활용 레퍼런스명. 필드명 으로 필드에 접근(배열은 인덱스로 접근, 객체는 필드명으로 접근) (1) Member class에 필드 작성하기 public class Member { String id; String pwd; String name; int age; char gender; String[] hobby; } (2) new 연산자로 객체 생성하기 Member member = n..

[자바JAVA] 배열의 정렬(오름차순으로 정렬하기, 중복 값 제거하기)

배열의 정렬 선택 정렬 : 배열을 전부 탐색하여 최소값을 고르고 왼쪽부터 채워나가는 방식 버블 정렬 : 인접한 두 개의 원소를 검사하여 정렬하는 방법 사입 정렬 : 인접한 두 개의 원소를 검사하여 정렬하는 방법 변수는 하나의 값만 저장 가능하므로 값을 대입하면 이전의 값은 소면된다. 때문에 임시변수를 하나 생성하여 기존의 값을 따로 보관하고 대입 작업을 통해 값을 서로 변경해야 한다. arr배열의 값을 132로 변경해보자 int[] arr = {2, 1, 3}; int temp1; temp2 = arr[0]; => 새로운 변수안에 arr 인덱스 0번 값을 저장한. arr[0] = arr[1]; =>arr인덱스 0번 값은 비워져 있으므로 값을 변경할 수 있다. arr[1] = arr[2]; arr[2] =..

[자바JAVA] 다차원 배열 (2차원 배열) & 얇은복사와 깊은복사

2차원 배열 자료형이 같은 1차원 배열들의 묶음 2차원 배열은 할당 된 공간 마다 인덱스 번호 두개 부여 (앞 번호는 행, 뒷 번호는 열) 2차원 배열 선언과 할당 배열 선언 배열 할당 배열의 선언과 할당 자료형[][] 배열명; 자료형 배열명[][]; 자료형[]배열명[]; 자료형[][]배열명 = new 자료형[행크기][열크기] 자료형[][] 배열명 = new 자료형[행크기][열크기] 자료형 배열명[][]; = new 자료형[행크기][열크기] 자료형[]배열명[]; = new 자료형[행크기][열크기] 2차원 배열의 저장구조 2차원 배열의 사용 방법 1 . 배열의 주소를 보관할 레퍼런스 변수 선언(stack) int[][] iarr1; int iarr2[][]; int[] iarr3[]; 2. 여러 개의 1차..

[자바JAVA] 배열(Array)_ 1차원 배열

배열 같은 자료형의 변수들을 하나의 묶음으로 다루는 것 배열은 저장된 값마다 인덱스 번호가 부여됨(0부터 시작) 1 . 배열의 사용 이유 배열을 사용하지 않는다면 연속 된 메모리 공간으로 관리할 수 없고, 반복문을 이용한 연속적인 처리가 불가능하기 때문에 배열을 사용한다. 2 . 배열의 선언과 할당 배열 선언 배열 할당 배열 선언과 할당 자료형[] 배열명; 자료형 배열명 []; 배열명 = new 자료형[배열크기]; 자료형[] 배열명 = new 자료형[배열크기]; 자료형 배열명[] = new 자료형[배열크기]; 3. 배열 저장구조 자료형[] 배열명; stack에 배열의 주소를 보관할 수 있는 공간 new 자료형[배열크기]; heap 영역에 공간을 할당하고 발생한 주소값을 반환하는 연산자 발생한 주소를 레퍼..

반응형