2018/07 103

자바 추상메소드, 인터페이스를 이해할 수 있는 순차적 예제1

package step1; class Animal {String food; // "meat"(고기) "grass"(풀)int hunger; // 배고픈 정도void makeNoise() {System.out.println("소리내기");}void eat() { // 육식동물, 채식동물System.out.println("음식을 먹는다.");}void sleep() {System.out.println("잠을 잔다.");}void roam() {System.out.println("돌아다닌다.");}} /* Animal을 상속받는 하위클래스 : Dog, Wolf, Hippo(하마), Cat, Tiger(호랑이), Lion(사자)*/ class Hippo extends Animal {@Overridevoid ma..

IT/Java 2018.07.23

자바 데이터베이스 연동

이클립스에서 드라이버 jar 파일을 추가해줘야 빌드 가능하다프로젝트에서 우클릭 > Build Path > Add External Archives... 에서 ojdbc.jar파일 선택해서 추가 package booklist; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement; public class Booklist {Connection con;public Booklist() {String url = "jdbc:oracle:thin:@localhost:1521:XE";/* 11g express edition은 or..

IT/Java 2018.07.22

자바 인터페이스 interface

package test; interface Animalable { // 모든 멤버는 public 접근지정자가 옴// static final 상수 필드만 올 수 있음int RED =1;public static final int BLUE = 2; // 모든 메소드는 추상메소드만 올 수 있음void speak();public abstract void eat();// 인터페이스는 다중상속 가능} class Puppy2 implements Animalable {@Overridepublic void speak() {System.out.println("멍멍~");} @Overridepublic void eat() {System.out.println("강아지가 밥을 먹는다");}} public class Test7 {..

IT/Java 2018.07.21

자바 추상클래스

추상클래스로 만드는 경우 1) 해당 클래스의 객체 생성을 막고자 하는 경우 2) 추상메소드를 1개 이상 포함할 경우 추상메소드는 하위클래스에서 모두 구현해야함.일련의 하위클래스들을 위한 규약의 일부를 정의하기 위한 것 -> 다형성! 추상클래스로는 객체생성 할 수 없음추상클래스 : 클래스임. 참조변수로는 사용가능. 모든멤버변수, 일반메소드+추상메소드 미완성 설계도. 단일상속 package test; abstract class Animal /* extends Object */ { // 추상클래스int age;void eat () {System.out.println("먹는다");}abstract void speak() ; // 추상메소드} class Puppy extends Animal{ // 추상 클래스를 ..

IT/Java 2018.07.21

자바 static, final (멤버변수, 메소드, 클래스)

문법순서 : 접근지정자 static final멤버변수 : 수정못하게 막아줌 //변수의 상수화. 상수 정의메소드 : 메소드 오버라이딩 못하게 막아줌클래스 : 상속 못하게 막아줌 package test; /*final*/ class FinalTest { // 상속 못하게 막아줌. /*final*/주석 풀어서 테스트 해보기public final int a = 10; // 인스턴스단위 상수public static final int B = 20; // [클래스 단위 상수] /*final*/ void prn() { // 메소드 오버라이딩 못하게 막아줌. /*final*/주석 풀어서 테스트 해보기System.out.println("FinalTest prn()");}} class SubFinalTest extends ..

IT/Java 2018.07.20

자바 static, 클래스변수, 인스턴스변수 사용 예제

package test; class Account {// 멤버변수 인스턴스변수 정수형 count 클래스변수 totalint count;static int total; // static 초기화 코드블록 또는 static 메소드 안에서는// this 또는 super 참조변수를 사용 못함!// 왜냐하면 this 또는 super는 객체를 지정하는 용도이기 때문 Account(int num) {count = count + num;total = total + num;}static void showTotal() {System.out.println("total:" + total);}} // Account public class Test2 { public void methodA() {System.out.println("..

IT/Java 2018.07.20

자바 static, 클래스변수, 인스턴스변수

static : 접근지정자 static final 자료형 - 함수 정의시 순서 객체생성없이 바로 멤버변수나 메소드에 접근 가능 static변수는 공유변수 역할 static메소드는 공유변수를 활용한 기능 표현. -> static메소드 안에서는 non-static멤버는 사용못함 static 초기화 코드블록 또는 static 메소드 안에서는this 또는 super 참조변수를 사용 못함! 왜냐하면 this 또는 super는 객체를 지정하는 용도이기 때문 package test; class StaticTest {// 클래스단위 멤버변수. 클래스변수. 정적변수. 클래스마다 한개씩 가짐 -> 공유static int a;static { // 클래스변수 초기화a = 10; }// 클래스단위 메소드는 클래스영역에 로딩되고..

IT/Java 2018.07.20

자바 다형성 예제 (ArrayList)

package test; import java.util.ArrayList; // ArrayList를 사용하려면, import해줘야된다 public class Test { public static void main(String[] args) {ArrayList list = new ArrayList(); // add() 메소드의 매개변수 타입이 Object형// Object: 모든 클래스의 최상위 부모클래스list.add("일"); // Stringlist.add('이'); // char Characterlist.add(3); // int Integerlist.add(4.5); // double Double String str = (String) list.get(0); // get으로 돌려받는 값이 Obje..

IT/Java 2018.07.20

오라클 PL/SQL insert, update, delete, merge 예제

-- pl_test 테이블 생성 create table pl_test (no number, name varchar2(10)); -- pl_seq 시퀀스 생성 create sequence pl_seq; -- pl_test에 값을 insert하는 pl/sql문 begin insert into pl_test values(pl_seq.nextval,'bbb'); end; SET VERIFY off; -- 사용자값을 입력 받기 전의 pl/sql문과 -- 입력받은 값을 대입한 후의 pl/sql문을 출력창에 표출할지 여부-- off 이므로 출력하지 않는다 -- pl_test2 테이블 생성 create table pl_test2( no number, name varchar2(10), addr varchar2(10));..

IT/Oracle 2018.07.19