2018/07 103

오라클 PL/SQL

SET serveroutput ON; -- 화면에 결과값 출력 여부 DECLARE v_deptno dept.deptno%TYPE; -- dept테이블의 deptno와 같은 타입의 변수를 만들겠다는 의미 v_loc dept.loc%TYPE; BEGIN select deptno, loc into v_deptno, v_loc from dept where deptno = 40; DBMS_OUTPUT.PUT_LINE(v_deptno||' '||v_loc); -- 출력창에 출력, ||는 문자열 더하는 연결연산자 END; -- id 값을 입력 받아 pl/sql문 실행 DECLARE v_deptno dept.deptno%TYPE; v_loc dept.loc%TYPE; BEGIN select deptno, loc int..

IT/Oracle 2018.07.19

자바 다형성, 도형 예제

파일명 : 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

자바 상속, super() 생성자 호출

super() 생성자 호출부모클래스의 기본생성자가 아닌 실제로 존재하는 다른 오버로딩 생성자를명시적으로 호출 가능하게 해줌. 파일명 : Test9.java package com.test; class MyPoint2D {int x;int y; // 생성자 x y 받는 생성자MyPoint2D(int x, int y) {super();this.x = x;this.y = y;}// prn() 메소드 출력 "x, y"void prn() {System.out.print(x+", "+y);}} class MyPoint3D extends MyPoint2D { // 상속 MyPoint2Dint z;// 기본생성자MyPoint3D() {// 부모클래스의 기본생성자 호출// 기본생성자 으면 생성자 지정// 부모의 존재하는 ..

IT/Java 2018.07.17

자바 상속, 메소드 오버라이딩, 메소드 오버라이딩 제약사항, 생성자

메소드 오버라이딩 제약사항- 슈퍼 클래스의 메소드와 동일한 원형으로 작성한다- 슈퍼 클래스 메소드의 접근 지정자보다 접근의 범위를 좁여 오버라이딩 할 수 없다. (public, protected, 디폴트, private) - static이나 private 또는 final로 선언된 메소드는 서브 클래스에서 오버라이딩 할 수 없다 파일명 : Test8.java package com.test; class Parent3 {// 기본생성자Parent3() /* extends Object */{super();System.out.println("부모생성자");} void parentPrn() {System.out.println("Parent3 parentPrn()");} } class Child3 extends Pa..

IT/Java 2018.07.17

자바 상속, 메소드 오버라이딩

메소드 오버라이딩: 상속관계에서 부모의 메소드 재정의 메소드 오버라이딩 규칙 - 메소드 이름, 매개변수 개수와 타입, 리턴형까지 모두 일치해야함! 메소드 오버라이딩 구현방식1) 완전한 재정의2) 부모 메소드 의존적으로 자식에서 코드 추가 파일명 : Test6.java package com.test; class Parent2 {void parentPrn() {System.out.println("부모클래스 parentPrn()");}}class Child2 extends Parent2 { // alt shift s@Override // annotation, 기능있음, 개발도구 도움 void parentPrn() {super.parentPrn(); // 부모의 메소드호출System.out.println("자식..

IT/Java 2018.07.17

자바 상속, super, 멤버변수 오버라이드(override)

파일명 : Test4.java package com.test; // 상속 : A는 B이다. 자식클래스는 부모클래스이다.// 관리자는 직원이다. // super. this. 객체의 접근가능영역 기준으로 사용// super. 부모멤버와 자식멤버 이름이 같을 경우 서로 구별을 위해 사용 class Employee {// 멤버변수 name salaryString name;int salary; // 기본생성자Employee() {} // name salary 받는 생성자Employee(String name, int salary) {this.name = name;this.salary = salary;}// 메소드 getEmployee() return name+", "+salaryString getEmployee()..

IT/Java 2018.07.17

자바 상속 두번째 예제

파일명 : Test2.java package com.test; // Point2D 클래스// 멤버변수 정수형 x y// 메소드 prn2D() 출력 "x, y"class Point2D { // 2차원 좌표int x, y;void prn2D() {System.out.println(x+", "+y);}} // Point3D 클래스// 멤버변수 정수형 z// 메소드 prn3D 출력 "x, y, z"class Point3D extends Point2D {int z;void prn3D() {System.out.println(x+", "+ y+", "+z);}} public class Test2 { public static void main(String[] args) {// Point3D 객체생성Point3D p =..

IT/Java 2018.07.17

자바 상속(Inheritance)

상속(Inheritance)A는 B이다(A is a B) 관계일 때 상속관계 가능.class A extents B {}사람(A)은 동물(B)이다.(O) 동물은 사람이다.(X) (역은 성립안됨)중학생은 학생이다.(O) 학생은 중학생이다.(X) 상속의 장점- 클래스의 간결화 : 멤버의 중복작성 불필요- 클래스 관리 용이 : 클래스들의 계층적 분류- 소프트웨어의 생산성 향상 : 클래스 재사용과 확장 용이 파일명 : Test1.java패키지 : com.test package com.test; // 포함(Include)// A는 B를 가진다(A has a B) 관계일 때는 포함관계 가능.class Car {int num;String color;Engine engine = new Engine();}class Eng..

IT/Java 2018.07.17