본문 바로가기

JAVA/JAVA_1

(30)
Chap07_01.객체지향프로그래밍언어(Object-oriented-programming) a. 절차지향적 프로그래밍 : 구조적 프로그래밍 기법 (Top->Bottom) b. 객체지향적 프로그래밍: 객체들이 서로 상호 작용하는 프로그래밍 기법 (여러개의 객체를 생성하기 위해 클래스가 필요하다) ex) new이용해 객체생성하면 생성자를 호출... 붕어틀 : 클래스, 붕어빵 : 객체 필요로 하는 만큼 객체를 생성(모양은 같다, 안의 내용이 다름) -. 매서드 만드는 이유 : 코드의 모듈화 (코드의 중복성 줄일 수 있다 but, 코드의 확장성에서는 문제가 있을 수 있다) -. 현실 세계를 그대로 모방하여 만든 프로그래밍 기법 객체지향 프로그램 (추상적) : Why? 비즈니스 환경이 바뀌어서 나오게 되어서 소프트웨어도 발전 변화하는 환경에서 최적의 방법 (C++, C#, JAVA, 타입스크립트) (소..
Arrays 매서드 (특히, 정렬 sort) 1.System.arrayCopy(복사할배열,시작idx,새로운배열,idx,길이); Arrays.copyOf(),Arrays.copyOfRange()도 쓸 수 있음 : 배열복사 : 전체를 다 출력하다 보면 배열 안에 데이터가 꽉 찬 상태로 받아오면 NullPointException 발생하지 않고 배열을 가져올 수 있을 것이다.? 2.Arrays.toString(배열) 배열 출력할 때 사용 : 배열을 문자열로 출력할 때 사용한다 3.Arrays.equals(배열1,배열2) : 배열이 서로 같은지 비교한다 4.Arrays.sort(Arr) : 배열을 오름차순(default)으로 정렬한다(내림차순 출력하려면 for문 역으로) 4-1(중요). Arrays.sort(배열,new Comparator(){}); ret..
재귀함수 재귀함수 : 함수 자기자신을 다시 불러준다. (return 값에 함수자신을 호출하여 계속 불러주는 방식) (어느 값에 도달할때까지 재귀함수는 탈출 조건이 필요하다 그렇지 않으면 무한 루프) ex) public static 리턴타입 함수명(){ if(조건식){ return 함수명(); }else{ return 값; } } ex) 1. 팩토리얼 package kosta_basic; import java.util.Scanner; public class Chap06_재귀함수 { static int f(int n) { if(n>0) { return n*f(n-1); }else { return 1; } } public static void main(String[] args) { //재귀함수 : 함수 자기자신을 다시..
(중요) CallByValue & CallByReference Call by Value : 값에 대한 호출 (값을 넣어주면서 함수 호출하여 값을 리턴받을때?) Call by Reference : 주소 값에 의한 호출 (같은 주소이면 같은 값을 가리키고 있다 같은 주소 값의 값을 바꿔주면 같은 곳을 참조하고 있기 때문에 값을 변경해줬을 때 같은 주소 값을 가진 변수는 변경된다. reference타입) : 주소값을 넘겨주는 변수 (참조변수) package kosta_basic; public class Chap06_Method02_return02 { public static int change(int n) { n+=100; return n; } public static void change2(int arr[]) { arr[0]+=20; } public static voi..
Chap06_매서드 main() - main메소드를 기준으로 프로그램 시작 매서드가 모듈화의 기본 과정 매서드→객체→패키지 매서드를 사용함으로써 중복되는 코드를 최소화 할 수 있다. (main 메소드에 return; 해주면 프로그램 끝낼 수 있다) 매서드 정의 시퀀스 1.접근제어자(public protected private default) 2. 리턴형 (void int .... 의 타입) 3. 메서드 이름(타입 파라미터명) {매서드 내용} 2-1. 리턴형 매서드 return 값; : 매서드 사용 후 값을 넘겨줄 필요가 있으면 return을 해준다 2-2. 리턴이없는 매서드(void) : 값만 출력해주고 끝나거나 값을 넘겨줄 필요가 없을 때 사용
Chap05_02.이차원배열
Chap05.배열(Array) 같은 타입의 여러개의 값을 각각 변수를 선언하고 처리하지 않고 처리하기 위해서 배열을 이용한다 특징 -여러 개의 데이터를 한 곳에 담을 수 있다 (서로 다른 데이터 타입을 섞어서 선언할 수 없다) ***1차원 배열의 생성 1. 1차원 배열 선언 2. 배열의 생성 -변수의 경우(선언과 생성) 1. 변수 선언 하면 저장할 수 있는 메모리 확보 2. 변수 값을 대입하면 그 메모리에 저장 배열의 경우(선언과 생성) 1. 배열 선언을 통해- 단 한 개의 데이터를 저장할 수 있는 메모리 확보(주소 값을 담기 위해) -생성 된 주소값이 '배열명'에 들어있다 2. 배열의 생성을 통해- 배열 항목의 메모리를 확보 (배열 변수에 대입하면 배열의 참조값이 저장된다) ***여러가지 선언 방법 step 1. int arr[];..
Chap04_02.반복문(1.for, 2.while) 1. for문 : 초기식;조건식;증감식 ->명령문 :수평구조 중첩 for문 : ex)구구단 만들기, 별 이용해서 그림그리기 2. while문 : 1. 초기식 -> 2. 조건식 -> 3. 명령문 -> 4. 증감자 : 수직방향구조 do{무조건한번은 실행되고 while의 조건식이 만족하지않을때까지 실행된다.}while(조건식); break; (loop를 빠져나간다) continue; (이 단계를 뛰어넘고 다시 반복문 처음부터 실행) Label: (break or continue 했을 때, Label이 표시된 반복문for, while 끝으로 이동된다) 무한루트 while(true) for(;;)