본문 바로가기

전체 글351

728x90
JAVA_ Test110_ 추상 클래스(Abstract) Test110 추상 클래스(Abstract) : 메모리 낭비 없이 미리 호출 계획을 세워두기 위해 만든다.※ 추상 클래스(abstract) 선언만 있고 정의가 없는 하나 이상의 메소드(추상 메소드)를 갖는 클래스로 하위 클래스에서 오버라이딩(Overriding)할 것으로 예상되는 메소드에 대해 메모리 낭비 없이 미리 호출 계획을 세워두기 위해 만든다. ※ 형식 및 구조 [접근제어지시자] abstract class 클래스명 { [접근제어지시자] abstract 자료형 메소드명([매개변수], ...); } ※ 특징 클래스가 적어도 하나 이상의 추상 메소드를 포함할 때 그 클래스는 클래스 앞에 『abstract』 키워드를 붙여 추상클래스로 명시해야 하며, 추상 클래스로 선언한 경우에는 불완전한 형태의 클래스이.. 2018. 6. 15.
JAVA_ Test109_ 상속(Inheritance) / 메소드 오버라이딩(mathod Overriding)의 특징 Test109 상속(Inheritance) / 메소드 오버라이딩(mathod Overriding)의 특징※ 메소드 오버라이딩(mathod Overriding)의 특징 - 메소드 이름, 리턴타입, 파라미터 수나 타입이 완전히 일치해야 한다. - 반드시 상속 관계가 있어야 한다. - 재정의된 하위 클래스의 메소드 접근제어지시자는 상위 클래스의 메소드 접근제어지시자보다 범위가 크거나 같아야 한다. 예를 들어 상위 클래스 메소드의 접근제어지시자가 『protected』 인 경우 하위 클래스가 이 메소드를 오버라이딩(Overriding)하는 경우 접근제어지시자는 『protected』 또는 『public』 이어야 한다. - 『static』, 『final』, 『private』 메소드는 오버라이딩(Overriding)할.. 2018. 6. 15.
JAVA_ Test107_ 클래스 / 상속(Inheritance) / 생성자와 클래스 상속간의 관계 /『super』정의 / @Override Test107 클래스 / 상속(Inheritance) / 생성자와 클래스 상속간의 관계 /『super』정의 / @Override※ 『super』 static 으로 선언되지 않은 메소드에서 사용되며 현재 클래스가 상속받은 상위 클래스의 객체를 가리킨다. super는 상위 클래스의 생성자를 호출하거나 상위 클래스의 멤버 변수 또는 메소드를 호출할 때 사용할 수 있다. 하위 클래스의 생성자에서 상위 클래스의 생성자를 호출할 때에는 하위 클래스의 생성자 정의 구문에서 맨 처음에만 위치할 수 있다. ※ 생성자와 클래스 상속간의 관계 하위 클래스는 상위 클래스의 멤버를 상속받지만, 생성자는 상속 대상에서 제외된다. 그리고, 하위 클래스의 생성자가 호출될 때 자동으로 상위 클래스의 생성자가 호출된다. 이 때, 상위 .. 2018. 6. 14.
JAVA_ Test106_ 클래스 / 상속(Inheritance) 개요 / 『protected』 / extends Test106 클래스 / 상속(Inheritance) 개요 / 『protected』 / extends※ 상속(Ingeritance)이란 새로 설계(생성)하고자 하는 클래스가 이미 설계되어 있는 다른 클래스의 기능과 중복되는 경우 이미 설계된 클래스의 일부분이나 전체 구조를 공유할 수 있도록 하는 기능을 의미한다. 즉, 상속은 객체를 좀 더 쉽게 만들 수 있는 고수준의 재사용성(reusability)을 확보하고 객체간의 관계를 구성함으로써 객체 지향의 또 다른 큰 특징인 『다형성』의 문법적 토대가 된다. 상속은 기존 프로그램의 클래스 내용을 공유함으로써 중복된 코드들을 재작성할 필요 없이 반복적이고 세부적인 작업을 처리하지 않기 때문에 프로그램을 작성하는 시간을 절약할 수 있고 유지보수를 편리하게 할 수 .. 2018. 6. 14.
JAVA_ Test105_ 정렬(Sort) 알고리즘) / 점수가 높은 순으로 등수 결과를 출력하는 프로그램 Test105 정렬(Sort) 알고리즘 / 점수가 높은 순으로 등수 결과를 출력하는 프로그램※ 실습 문제 사용자로부터 여러 학생의 성적 정보를 입력받아 점수가 높은 순으로 등수를 부여하여 결과를 출력하는 프로그램을 구현한다. 단, 배열과 정렬 알고리즘을 활용하여 작성할 수 있도록 한다. Test105.java import java.util.Scanner;import java.io.IOException; public class Test105{public static void main(String[] args) throws IOException{Scanner sc = new Scanner(System.in);int n, i=1, j;boolean flag;// 인원 수 입력받기System.out.print(.. 2018. 6. 14.
JAVA_ Test104_ 정렬(Sort) 알고리즘 / 향상된 버블 정렬(Bubble Sort) Test104 정렬(Sort) 알고리즘 / 향상된 버블 정렬(Bubble Sort)※ 앞서 공부한 Selection Sort 나 Bubble Sort 의 성능은 같다. (반복의 횟수로 추정) 하지만, 향상된 Bubble Sort 는 대상 데이터의 구조에 따라 일반 Bubble Sort 나 Selection Sort 보다 성능이 좋다.※ 불필요한 추가 연산 (회전:반복)을 수행하지 않는다. Test104.java public class Test104{public static void main(String[] args){int[] a = {10, 50, 20, 33, 40};int pass, temp;boolean flag; System.out.print("Source Data : ");for (int n .. 2018. 6. 14.
JAVA_ Test103_ 정렬(sort) 알고리즘 / 버블 정렬(Bubble Sort) Test103 정렬(sort) 알고리즘 / 버블 정렬(Bubble Sort) ※ 향상된 for문 → forEach 구문for ( ②자료구조로부터꺼낸단일요소 : ①자료구조,배열 등){} Test103.java public class Test103{public static void main(String[] args){int[] a = {52, 42, 12, 62, 60};int i, j, temp; System.out.print("Source Data : ");for (int n : a)// a 배열 [0]부터 끝까지 n에 순차적용System.out.print(n + " ");System.out.println(); // Bubble Sort 구현for (i=1; i 2018. 6. 14.
JAVA_ Test102_ 정렬(sort) 알고리즘 / 선택정렬(Selection Sort) Test102 정렬(sort) 알고리즘 / 선택정렬(Selection Sort) ※ 정렬 : 데이터를 특정한 규칙(기준)에 맞게 순서대로 나열(오름차순, 내림차순)※ 정렬의 종류 : 선택 정렬, 버블 정렬, 삽입 정렬, 힙 정렬, 퀵 정렬, 쉘 정렬, ...※ 정렬은 리소스 부하가 심하니 꼭 필요한 경우에 사용한다. Test102.java public class Test102{public static void main(String[] args){int[] a = {52, 42, 12, 62, 60};int[][] b = {{52, 42, 12}, {62, 60, 70}}; int i, j, temp; System.out.print("Source Data : "); for (int n : a)// a 배열.. 2018. 6. 4.
JAVA_ Test101_ 주민번호 유효성 검사 공식 Test101 주민번호 유효성 검사 공식 ※ 공식 123456-1234567 (주민번호) -------- -------- 234567 892345 (각 자리에 곱해질 수 『234567 892345』, 마지막수는 곱하지 않는다.) 규칙에 맞게 곱셈 연산을 수행한 결과를 모두 더한다. ※ 적용예시 7 5 0 6 1 5 - 1 8 6 2 1 3 3 * 2 3 4 5 6 7 8 9 2 3 4 5 ---------------------------------- ①각 자리에 해당숫자를 곱한 후 ②모두 더하기 = 14 + 15 + 0 + 30 + 6 + 35 + 8 + 72 + 12 + 6 + 4 + 15 = 217 ③ 더해진 결과물을 11로 나눠 『나머지』를 구한다.217/11 = 19 (나머지8) ④ 11에서 나머.. 2018. 5. 30.
JAVA_ Test100_ 만년달력 Test100 만년달력※ 서기 1년 1월 1일 : 월요일※ 연도가 4의 배수이면서 100의 배수가 아니거나, 400의 배수이면 2월은 29일(윤년), 나머지 2월은 28일(평년) ※ 2018년 3월 달력을 그린다고 가정하면 1. 1. 1 ~ 2018. 2. 28 까지의 전체 날 수를 구한다. 그 날 수에 +1 연산을 수행하면... (2018년 3월 1일의 요일 확인) 3월의 달력 그릴 준비 끝. ※ 요일 = 전체날수 % 7 Test100.javaimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class Test100{public static void main(String[] ar.. 2018. 5. 29.
○ GET 방식 vs POST 방식 GET 방식 (엽서) ex) http://news.naver.com/main/read.nhn?oid=003&sid1=102&aid=0008583498&mid=shm&mode=LSD&nh=20180508100426 가. http://news.naver.com/main/read.nhn? → 요청페이지 나. oid=079 & sid1=101 & aid=003098575 & mid=shm & mode=LSD & nh=201805080959934 → 전송 - GET 방식은 엽서를 보내는 방식과 유사한 전송 / 요청 방식 - 주소 + 데이터 (모두 노출) - 전송할 데이터를 문자열 형태(Query String)로 URL 뒤에 인수로 붙여서 전송하는 방법(방식)이다. - URL 뒤에 인수로 붙어 있는 내용을 누구나 .. 2018. 5. 24.
○ Javascript 자바스크립트 개요 및 기본문법 Javascript 자바스크립트 개요 컴파일 과정이 필요없거나 처리 과정이 적은 프로그램에 유리한 스크립트 언어로 다른 언어에 비해 개발 시간이 짧고, 소스 코드의 수정 및 유지보수가 간편하다. HTML 코딩에서 자바 스크립트 소스의 명시만으로 웹 브라우저가 자동 실행된다. 자바스크립트는 웹 페이지에서 가장 많이 사용되는 스크립팅(Scripting)언어로 스크립팅(Scripting) 언어는 크게 나누면 자바스크립트나 DHTML, Visual Basic 등과 같은 브라우저 스크립팅(Browser Scripting), JSP, ASP, PHP 와 같은 서버 스크립팅(Server Scripting) 언어로 구분할 수 있다. 특히 자바스크립트는 서버 스크립팅(Server Scripting) 언어와 연동되어 입력.. 2018. 5. 24.
728x90
728x90