본문 바로가기

JAVA기초

(12)
JAVA_OOP 객체 지향 프로그래밍 (OOP : Object Oriented Programming) - 여러 개의 독립된 단위, - 즉, 객체들의 모임으로 파악하고자 하는 것 각각의 객체는 메시지를 주고 받고 데이터를 처리 객체 지향 프로그래밍의 특징 1. 캡슐화 (Encapsulation ) - 관련된 필드(속성)과 메소드(기능)을 하나로 묶고, 실제 구현 내용을 외부로부터 감추는 기법(정보은닉) - 타인 노출을 대비해 특정 속성이나 사용자가 조작 할 수 없도록 숨겨 놓은 것 - 외부에서는 공개된 메소드(기능)의 인터페이스를 통해 접근 할 수 있다. [예시] 2. 상속 (Inheritance) - 이미 작성된 클래스(상위클래스)의 특성을 그대로 이어받아 새로운 클래스(하위클래스)를 생성기법 - 기존 코드를 그대로 재..
JAVA_JDBC JDBC 필요성 - JAVA DataBase Connectivity - 관계형 DB에 저장된 DATA를 접근 및 조작할 수 있게 하는 인터페이스 기반 자바 API 데이터관리 프로그램 작업 원리 연습하기 1 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Scanner; public class Ex01insert { public static void main(String[] args) { // 프로그램이 시작되면 사용자의 정보를 입력받아 DB에 전달하기 Scanner sc =new Scanner(Syste..
JAVA_추상화(추상메소드, 추상클래스) 추상메소드 - 선언되어 있거나 구현되어 있지 않은 메소드(중괄호가 없는 메소드) - abstract키워드를 사용하여 선언 ex) public abstract int getValue(); - 추상 메소드는 서브 클래스(자식 클래스)에서 오버라이딩 필수 추상클래스 - 추상메소드를 하나라도 가진 클래스 (완벽하지 않은 추상적인 설계도라 생각하기) - abstract키워드를 사용하여 선언 ex) public abstract class Parent 추상메소드와 추상클래스 필요성 똑같은 기능이지만 호출하는 이름이 다르기 때문에 약속을 위해 기본적인 기본틀을 만들어줌 public class Volvo extends Car {/// 상속받기위해 extends 사용하지만 오류 // 그이유는 car에 추상적 메소드 //강..
JAVA_상속 상속이란? - 기존 클래스의 변수(데이터)와 메소드(로직, 코드)를 물려받아 새로운 클래스 구성하는 것 장점 - 기존 클래스의 변수와 코드를 재사용 > 코드의 중복 감소, 클래스 간결화 - 먼저 작성된 검증된 프로그램을 재사용 > 신뢰성 있는 프로그램 손쉽게 개발 - 클래스간 계층적 분류 및 관리 > 유지 보수 용이 상속방법 CLASS서브클래스 extends 슈퍼클래스 - 슈퍼 : 원래 클래스 - 서브 : 확장된 개념 [예시] public class Phone { public void call() { System.out.println("전화걸기"); } public void message() { System.out.println("메세지 보내기"); } public class SmartPhone exte..
JAVA_Music Playlist 만들기 public class Music { // 노래 정보를 관리할 수 있는 설계도 // 설계도 특징: main 메소드가 있으면 안된다. private String songPath; private String singer; private String song; // 생성자 매소드 필요 // 클래스 명칭( public Music(String songPath, String singer, String song) { super(); this.songPath = songPath; //this가 없을 경우 위에 적용이 안된담 this.singer = singer; this.song = song; } //getter 메소드 public String getSongPath() { return songPath; } public..
JAVA_Collection, ArrayList Collection의 특징 - 제네릭(Generic) 이라는 기법으로 구현 예) class Person { public T name ; } Personperson = new Person ; - 컬렉션의 요소는 객체들만 저장가능 * 기본 자료형(primitive type)의 데이터는 요소로 불가능 * 기본 타입의 값을 추가한 경우 자동 박싱(Auto Boxing)에 의해 Wrapper클래스로 변환되어 객체 형태로 저장 Collection > List > ArrayList 1. ArrayList - 가장 보편적으로 많이 사용하는 컬렉션 클래스로 객체를 저장 - 크기가 고정이 아닌 가변의 길이 - 원하는 위치의 추가나 삭제가 쉬움 - ArrayList //import java. util. ArrayList 생..
JAVA_정렬(Bubble-Sort, Selection-Sort / Sequential search, Binary search) Bubble-Sort (오름차순) : 두 인접한 원소를 비교하여 정렬하는 방법 속도는 느리지만 코드가 단순 [예시] int[] array= {45,7,12,82,25}; for (int k =1; k
JAVA_배열, for-each, 이차배열 배열 1. 자료구조: - Tree: 가지구조 - Stack : last in first in (프링글스) - Queue : first in first out (빨대와 같은) - List - Array : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 자료구조 2. 배열 ( Array ) - int [ ] numbers = new int [3] ; - 타입 / 선언 / 배열 이름 = 생성 키워드 / 타입 [배열의 크기] ; 배열선언 방법 1 int [] arr ; // 변수 선언, 주소가 담긴다. arr = new int [3]; //배열을 선언 System.out.println(arr); // 주소값 출력 arr[1]=20; System.out.println(arr[1]); // 20 출력 int[] ..
JAVA_반복문(while, do-while, for) 1. while [예제 1] while 문을 사용하여 키보드로터 입력 받은 수가 10보다 작을때 계속 정수를 입력받으세요 (10보다 큰 수를 입력하면 "종료되었습니다" 출력) [예제 2] while문을 사용하여 입력받은 수를 누적하는 프로그램을 작성하시오 ( -1을 입력할 경우 프로그램 종료) [예제 3] 숫자를 입력받아 홀수와 짝수가 각각의 수를 출력하는 프로그램을 작성하시오( -1를 입력한 경우 프로그램 종료) 2. do-while [예제1] [예제2] 3. for [예제1&2] [예제3] [예제4] [예제5] 4 .이중 for [예제1] [예제2] 또는 [예제3] 비교 ( while, do-while, for) 출처:스마트인재개발원
JAVA_조건문(단순, if-else, 다중, switch) 1. 단순 if [예제1] 만약 age가 20보다 크거나 같다면 “성인입니다.”라고 출력 [예제2] 만약 num이 3의 배수이면서 5의 배수라면 “3과 5의 배수입니다“라고 출력 2. if-else [예제1] 만약 grade가 60점 이상이면 “합격입니다.” 그렇지 않다면 “불합격입니다.”를 출력 [예제2] 기본료는 5000원이며 인원수에 따라 지불해야하는 프로그램이다 (단, 20세 미만인 경우 50% 할인이 적용됨) [예제3] 10000원 짜리 선물세트를 구입 금액을 계산하시오 ( 단, 11개 이상 구매 시 전체금액에서 10% 할인 적용) 3.다중 if [예제1] totalScore가 90점 이상이면 “A학점입니다.”, 80점 이상 90점 미만일 경우 “B학점입니다.”, 70점 이상 80점 미만일 경우..