본문 바로가기

반응형

전체 글

(44)
Java_Language( String Class, Buffer Class, Builder Class, Math Class ) ● String Class * StringClass - 문자열 다루는 클래스 - String 객체는 final 클래스로부터 상속(확장)이 불가능 - String 객체는 내부적으로 char 배열에 데이터를 저장하여 보관 - String 객체는 리터럴("") 로 생성하는 경우 JVM 메모리에 있는 상수풀(Constant Pool)로 들어간다. - String 객체는 바뀌지 않는 변할 수 없는 객체 ㄱ. String 클래스 a. 변경이 불가능한(immutable) 클래스 기본형(8) -> String 형변환 String n = 10 +""; String n = 3.14 +""; String n = true +""; char [] -> String String -> char[..
Java_java.lang package ( java.lang 패키지, equals(Object obj), compare(), hashCode(), clone(), getClass() ) ● java.lang package * java.lang 패키지 - 가장 기본이 되는 클래스들을 포함 - java.lang 패키지의 클래스들은 import문 없이도 사용 가능 * Object Class - Object 클래스의 메서드 간단히 알아보자 * equals(Object obj) - 매개변수로 객체의 참조변수를받아서 비교하고 그 결과를 boolean값으로 알려 주는 역할 * compare() - 실제로 구현할 때 compare()에 두개의 인자를 넘겨 내부 구현에 따라 int 결과 값을 리턴 - int 값을 반환 - 두 객체를 비교하는 맞춤 방식 equals() - 반환타입이 boolean Type compare() - 객체 인자 = 양수 - 객체 ==..
Java_exception handling (예외처리), File Reader (출력) 예외처리 (exception handling) 1. 프로그램 에러(오류) [프로그램 실행 중]에 어떤 원인에 의해서 [오작동]을 하거나 [비정상적으로 종료]되는경우 이결과를 초래하는 원인을 에러(오류)라고 한다. 2. 발생 시점에 따라 ㄱ. 컴파일에러(compile-time error) int i // 세미콜로을 찍지 않을 경우 컴파일오류 문법적인 오류 ㄴ. 런타임에러(runtime error) 지역변수는 초기화 반드시 필요하다. int m[]=null; System.out.println(m[0]); ㄷ. 논리적 에러(local error) : 실행은 되지만, 의도와 다르게 동작하는 것 참고: JAVA의 정석 남궁성 지음 참고: JAVA의 정석 남궁성 지음 자바에서는 프로그램의 실행 중에 발생하는 프로그..
Java_OOP 4( object_oriented Programming ) 객체지향적 프로그래밍 1. 다형성(polymorphism) * 다형성 - '여러 가지 형태를 가질 수 있는 능력'의미 - 한 타입의 차조변수로 여러 타입의 객체를 참조할 수 있다. - 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를참조할 수 있다. - 타입이 같은 인스턴스는 참조변수의 타입에 따라 사용할 수 있는 멤버의 개수가 달라진다. - 조상 인스턴스의 멤버 개수는 자손 인스턴스의 멤버 개수보다 항상 적거나 같다. - 조상 타입의 참조변수로 자손타입은 인스턴스를 참조할수 있다. - 반대) 자손 타입의 참조변수로 조상타입의 인스턴스를 참조할 수 X * 참조변수 형변환 - 자손타입 --> 조상타입 (Up-casting) : 형변환 생략가능 - 자손타입
Java_OOP 3( object_oriented Programming ) 객체지향적 프로그래밍 1. 상속 ( inheritance ) - 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 - 보다 적은 양의 코드로 새로운 클래스를 작성 - 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이 * 특징 - 코드 재사용성을 높이고 코드의 중복성을 제거하여 프로그램의 생산성과 유지보수에 크게 기여 * 방법 - 클래스 이름뒤에 상속받고자하는 클래스의 이름 뒤에 'extends' ex) class 클래스명 extends 조상클래스 { ... } * 조상 클래스 - 부모(parent)클래스, 상위클래스(super)클래스, 기반(base)클래스 * 자손 클래스 - 자식(child)클래스, 하위(sub)클래스, 파생된(derived)클래스 - 생성자와 초기화 블럭은 상속되지 X - 멤..
Java_OOP 2( object_oriented Programming ) 객체지향적 프로그래밍 1. 생성자(constructor) * 생성자 란 ? - 객체 생성될 때 자동으로 호출되는 함수(메서드) - 클래스명과 반드시 같아야 한다. '클래스명' == '메소드명' - 리턴자료형을 사용 안해도 된다. - 오버로딩이 가능 - 역할 : 필드 초기화 - 매개변수가 없는 생성자를 '디폴트생성자' 라고 한다. - 상속 X - 인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드' - 인스턴스 변수의 초기화 또는 인스턴스 생성시 수행할 작업에 사용 - 몇가지 조건을 제외하고는 메서드와 같다. - 모든 클래스에서는 반드시 하나 이상의 생성자가 있어야 한다. (지금까지 컴파일이 가능했던이유는 자동으로 컴파일러가 자동적으로 '디폴트생성자'를 생성했기 때문) * 생성자의 역할 : 객체생성 + 필드초기화(동시에..
Java_OOP 1 ( object_oriented Programming ) 객체지향적 프로그래밍 Java_OOP (object_oriented Programming) - 객체지향적 프로그래밍 - 시작객체(object) + 객체(object) + 객체(object) + .... = 프로그램 - 객체 단위의 프로그래밍 기법(방법) - 객체 == 개체 == 물건 == 부품 == object - 클래스 : 객체 설계도 1. 객체지향 언어 ㄱ. 코드 재사용이 높다. -> 생산성 향상 - 새로운 코드를 작성할 때, 기존의 코드를 이용하여 쉽게 작성할 수 있다. ㄴ. 코드의 관리가 용이하다. -> 유지, 보수, 확장성 - 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. ㄷ. 신뢰성이 높은 프로그래밍을 가능하게 했다. - 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 유지할 수 있도록..
Java_Array_Algorithm 배열 알고리즘 ( 달팽이 ) 원리) 코드) 결과)
Java_Array_Algorithm 배열 알고리즘 조건) int [][] m = new int[5][5]; 이차원 배열 5행 5열 생성 1. 출력만을 위한 함수 생성 ---------------------------------------------------------------------- 1. 순차적 진행 -------------------------------------------------------------------- 2. 역순차적 진행 ------------------------------------------------------------------------------------ 3. 순차&역순차 -----------------------------------------------------------------------------..
Java_마방진(魔方陣) 'Magic Square' '홀수' 마방진(魔方陣)’이란? 마방진에서 ‘방’자는 사각형을 의미하고, ‘진’자는 줄을 지어 늘어선다는 뜻이다. 마방진이란 정사각형에 1부터 차례로 숫자 적되, 숫자를 중복하거나 빠뜨리지 않고, 가로, 세로, 대각선에 있는 수들의 합이 모두 같도록 만든 숫자의 배열을 의미. 예를 들어 3×3 마방진은 1부터 9까지의 숫자를 중복하지 않고 모두 사용하되 가로, 세로, 대각선의 합이 15가 되도록 정사각형 안에 배열해 놓은 것 *** 방법 *** - 가로 세로 칸은 홀수 1. 맨위 가운데 '1' 로 정의 2. 생성한 칸 갯수 의 배수는 아래로 한칸 3. 열이 벗어나면 첫번째 열로 수 추가 4. 행이 벗어나면 첫번째 열로 수 추가 5 . 가로, 세로, 대각선의 합은 같아야 한다. *** 풀이 *** ** 결과 값 **
Java_Sort(정렬)알고리즘 ( Selection, Insertion, Bubble, Merge ) 1. 정렬 방법 ㄱ. 선택법 : 선택 정렬 , 힙정렬 ( Selection sort ) - 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해 나가는 정렬 방식 ** 결과 값 ** ㄴ. 교환법 : 버블 정렬, 힙정렬 (Bubble Sort) - 서로 인접한 두원소를 검사하여 정렬하는 알고리즘 - 인접한 2개의 수를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환 - 선택정렬과 기본 개념은 유사 ** 결과 값 ** ㄷ. 삽입법 : 삽입 정렬, 쉘정렬 ( Insertion sort ) - 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 정렬이다. 1) 2) ** 결과 값 ** ㄹ. 병합법 : 병합, 합병 정렬 ( Merge..
Java_approximate Value(근사치) Java_approximate Value 근사치 구하기 근삿값(가까운값) 또는 근사치는 어림수와 같이 참값에 가까운 값을 뜻한다. 근삿값의 대표적인 예로 측정값이 있다. 조금 더 쉽게 설명하자면 근삿값을 쓸 때 또는 양쪽 값이 거의 비슷할 때 사용한다고 할 수 있다.근삿값(문화어: 가까운값) 또는 근사치는 어림수와 같이 참값에 가까운 값을 뜻한다. 근삿값의 대표적인 예로 측정값이 있다. 조금 더 쉽게 설명하자면 근삿값을 쓸 때 또는 양쪽 값이 거의 비슷할 때 사용한다고 할 수 있다. 10개의 배열을 생성해 랜덤한 수를 집어넣고 입력값을 받아 가까은 수 2개를 max, min 으로 추출하는 방식 Math.abs = 값을 절대값으로 가져오는 함수 ** 결과 값 **
Java_최댓값(absolute maximum), 최소값(minimum) 최댓값(absolute maximum) 최소값(minimum) 배열에 랜덤 수를 생성해 최댓값과 최소값을 찾아 추출 ** 결과 값 **
Java_진수 변경 (2진수, 10진수), Math.pow(); ** 결과 값 **
피보나치 수열 Fibonacci Sequence , 수 나열 및 나열의 합 피보나치 수열 - 제0항을 0, 제1항을 1로 두고, 둘째 번 항부터는 바로 앞의 두 수를 더한 수로 놓는다. 1번째 수를 1로, 2번째 수도 1로 놓고, 3번째 수부터는 바로 앞의 두 수를 더한 수로 정의하는 게 좀더 흔하게 알려져 있는 피보나치 수열이다. 이 둘 사이에는 시작점이 다르다는 정도를 빼면 사실상 동일하다. **결과 값 **
Java_조건문, (if, switch) 제어문 (control sataement) - 프로그램의 처리 흐름을 바꾸는 역할을 하는 문장 제어문 종류 1. 조건문 : if 2. 분기문 : switch 3. 반복문 : for, 확장 for(foreach) 4. 조건 반복문 : while, do~while 5. 기타 : break, continue... [if 조건문의 형식] condition 조건, 조건식 true/false boolesan ex) 정수를 입력받아서 홀수/짝수 출력 코딩 ex) 성적에 따른 수,우,미,양,가 를 출력 [case 조건문의 형식] key : 정수, 문자열(JDK7.0 이전버전에서 X) value : 정수, 상수, 중복X, 문자열 상수 ex) 정수를 입력받아서 홀수/짝수 출력 코딩 ex) 성적에 따른 수,우,미,양,가 를..
Java_연산자(operator) 1. 연산자 (operator)? 연산을 수행하는 기호 +, -, *, / ->4/5= 0 인 이유는 몫이 int 연산 때문 -> - 0으로 나누거나 나머지 값은 처리할 수 없다. -> Infinity -> NaN 2. 피연산자 (operand)? 연산을 하려는 대상 변수, 상수, 수식, 리터널 //int a= 3; //final int X = 100; //a+5+(a>5?100:200)+x [연산자의 종류] ***기능별*** 5가지 구분 1. 산술 연산자 + - * / % 2. 비교 연산자 - 두 피연산자를 비교하는 데 사용되는 연산자이다. - 주로 조건문과 반복문의 조건식으로 사용된다. - 비교 연산 결과는 true/false 값이다. 1) 대입연산자(우측기억공간을 좌측 기억공간으로 갖는다. )로 인..
Java_eclipse 입력 화면으로 부터 입력받는 방법들은 근본적으로 모두 같으므로 차이를 비교할 피룡는 없다. 상황에 맞는 편리한 것을 선택 사용할 것. import java.util.*; -> java.util 클래스를 이용해서 작업, Scanner 클래스를 사용하기 위해 추가 Scanner SC = new Scanner(System.in); -> Scanner글래스의 객체를 SC로 생성 int num = SC.nextInt(); -> 정수를 입력받어서 변수 num에 저장 nextLine()이라는 매서드를 호출하면, 입력대기 상태에 있다가 입력을 마치고 엔터를 누르면 입력한 내용이 문자열로 정렬 String SC = Scanner.nextLine(); ->입력받은 내용을 input에 저장 int num = Interger.pa..
Java_변수 형변환 변수 형변환 1. 형변환 이란? - 변수 또는 상수의 타입을 다른 타입으로 변환하는 것 2. 형변환 방법 -(타입)피연산자 ex) double d = 99.9; int score = (int)d; 위 예제는 bouble 타입ㅇ듸 변수 d 를 int 타입으로 형변환 변환 수식 결과 int -> char (char)65 'A' char -> int (int)'A' 65 float -> int (int)1.6f 1 int -> float (float)10 10.0f 3. 정수형 간의 형변환 - 큰 타입에서 작은 타입으로 변환, 예시로 int 타입 값을 byte 로 변환하는 경우 그 크기만큰 잘려나간다 그래서 경우에 따라 '값 손실'이 발생할 수 있다. - 반대로 작은 타입에서 큰 타입으로 변환, 예시로 byt..
Java_변수(Variable) 1. 변수 변수 ? 값 (Date)를 저장하는 공간 (값 + 공간) ex) 만약 사람의 나이를 저장 나이 변수[데이터 종류+ 데이터 크기] 숫자(정수) 0~125 1bit - 2가지 8bit=byte - 256가지 , 0~255 정수 2. 자바 변수 선언 형식? 종류 + 크기 => 자료형(Dtata Type) 자료형 변수명; ex)boolean 변수명 = true; 1byte - ^ 변수명 - | 자료형 변수명[=초기값];*** 대입(할당)연산자 = ,초기화 진수 ex)10 2 0,1 1010 8 0,1,2,3,4,5,6,7 012 10 0,1,2,3,4,5,6,7,8,9 10 16 0,1,2,3,4,5,6,7,8,9,a,b,c,e,f 0x12 3. 자바의 자료형 (Data Type) 1)기본형(prim..

반응형