IT/Java 107

자바 데이터베이스 연동

이클립스에서 드라이버 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

자바 다형성, 도형 예제

파일명 : Test3.java package com.test; // 다형성 : 동일한 코드로 다른 기능 실행 // 클래스 Shape 도형 // 부모 // 멤버변수 double area // 면적 저장공간 // 메소드 getArea() return area // 면적구해서 리턴하는 메소드class Shape {double area;double getArea() {return area;}}// 클래스 Circle 원 // 상속 Shape // 멤버변수 정수형 r=5 // 반지름 // 메소드 오버라이딩. 원면적 구해서 리턴하는 메소드class Circle extends Shape {int r=5;@Overridedouble getArea() {area = r * r * 3.14;return area;}}// ..

IT/Java 2018.07.18

자바 다형성, 정적바인딩, 동적바인딩, instanceof

○ 정적바인딩, 동적바인딩●정적바인딩(컴파일시) - 컴파일러가 객체 유무 관계없이 바인딩, 참조변수가 null이어도 컴파일러 오류 없다●동적바인딩(실행시) - 실제 실행시에 jvm이 실제 객체에서 오버라이딩이 있는지 확인하고 바인딩해줌 ○ instanceof 연산자 : 실행시 실제 객체가 어떤 타입인지 확인레퍼런스 instanceof 클래스명 - 레퍼런스 : 참조변수 타입이 아니고, 참조변수가 가지고 있는 객체의 타입 - 클래스명 : 레퍼런스와 같거나, 레퍼런스의 부모이면 true ex) Animal animal = new Puppy(); 일 경우, animal은 Puppy타입이다 파일명 : Test2.java package com.test; class Animal {Animal() {super();}i..

IT/Java 2018.07.18

자바 다형성, 참조형(레퍼런스형) 형변환, 업캐스팅, 다운캐스팅

파일명 : Test1.java package com.test; class Parent {void parentPrn() {System.out.println("parentPrn()");}} class Child extends Parent {void childPrn() {System.out.println("childPrn()");}} public class Test1 { public static void main(String[] args) {// 기본자료형 형변환(호환가능한 자료형 : 숫자형)double d = 3; // int -> double 자동 형변환System.out.println(d);int a = (int) 3.4; // double -> int 강제(명시적) 형변환System.out.printl..

IT/Java 2018.07.18