본문 바로가기
  • think normal

새로워지기486

ex27) java_oop //형변환(강제/자동)은 상속관계(부모자식)에서만 가능하다. //형제끼린 X // class Human { String state = "인간"; public void state() { System.out.println( "인간이다" ); } } // class Woman extends Human { String name = "gemini"; // name변수의 값을 리턴 public String getName() { return name; } // 상위 클래스의 method overriding public void state() { System.out.println( name + "은 여자이다" ); } } // class Man extends Human { String name.. 2012. 2. 24.
ex26) java_oop //예외 처리 //이 프로그램은 컴파일러에 의해 에러가 발생된다. //즉 컴파일러는 a.txt 파일이 없을 경우에 발생하는 예외의 //처리를 요구한다 /* import java.io.*; class IOExceptionError { public static void main(String args[]) { FileReader file = new FileReader("a.txt"); // 만일 a.txt 파일이 없다면? int i; while((i = file.read()) != -1) { System.out.print((char)i); } file.close(); } }**/ /* import java.io.*; class IOExceptionError { public static void main(Str.. 2012. 2. 24.
ex25) java_oop //예외처리 02 public class ArrayException { public static void main( String[] args ) { // int형 배열 선언 int[] intArray = new int[3]; // 배열에 값을 저장 for( int i=0 ; i 2012. 2. 23.
ex24) java_oop //1 /* public class Sys02 { public static void main(String[] args) { System.out.println(args[0]); System.out.println(args[1]); } } **/ //2 /* public class Sys02 { public static void main(String[] args) { if (args.length !=2){ System.out.println(args[0]); System.exit(0); } System.out.println(args[0]); System.out.println(args[1]); } } **/ /* //3 public class Sys02 { public static void main(String[.. 2012. 2. 23.
ex23) java_oop //포장(Wrapper) 클래스 > Integer 클래스 : 예 class IntegerExam1 { public static void main(String args[]) { Integer num1 = new Integer(13); Integer num2 = new Integer(25); int hap = num1.intValue() + num2.intValue(); System.out.println("num1이 포장하고 있는 정수는 : " + num1.intValue()); System.out.println("num2가 포장하고 있는 정수는 : " + num2.intValue()); System.out.println("두수의 합 = " + hap); System.out.println("합의 2진 표현 .. 2012. 2. 23.
java _20120223 Integer 클래스의 주요 메소드 String toString() : 숫자를 문자로 static int parseInt(String str) throws NumberFormatException //static->class.으로 접근 static String toBinaryString(int num):문자를 바이너리(2,16,8진) 형태로 반환 //(Binary/HexString/OctalString) static Integer valueOf(String str) throws NumberFormatException //string-> int 형태로 cast System 클래스 클래스 변수 : in(키보트로부터 받는다) out(모니터로출력한다) err(오류출력) System.out.println() // .. 2012. 2. 23.
ex22) java_oop class TestAA { int i; TestAA(int a){ i = a; } public String toString(){ return "i 맴버 변수의 값은 : " + i + "이다."; //this.i=i } } public class Num03 { public static void main(String[] args) { TestAA t1 = new TestAA(10); TestAA t2 = new TestAA(20); System.out.println(t1); System.out.println(t2); } } class Test1 implements Cloneable { int a,b; Test1(int a, int b){ this.a = a; this.b = b; } public String.. 2012. 2. 23.
ex21) java_oop //import java.lang.*; public class Num01 { public static void main(String[] args) { Integer i =new Integer(10); //object -> num->Integer System.out.println(i.floatValue()); //자료형을 cast해준다. System.out.println(i.doubleValue()); //자료형을 cast해준다. //오토박싱 Integer ii=10; System.out.println(ii.floatValue()); //자료형을 cast해준다. System.out.println(ii.doubleValue()); //자료형을 cast해준다. //System.out.println(float(.. 2012. 2. 23.
ex20) java_oop //StringBuffer :메모리 절약 , string보다 빠르다. public class Str01 { public static void main(String[] args) { StringBuilder s1 =new StringBuilder("Test"); StringBuilder s2 =new StringBuilder("ABCD"); s1.append(s2); //추가 System.out.println(s1); System.out.println(s2); s1.append(10); //추가 System.out.println(s1); String s3 =new String("1234"); StringBuffer s4 = new StringBuffer(s3); System.out.println(s4); .. 2012. 2. 23.
ex19) java_oop class StringCompare { static String array1[] = { "IMF", "제주도", "자바도사", "한글나라", "Computer", "모카", "JAVA", "인터넷탐색", "초롱초롱", "come", "바람", "스크립터", "군고구마", "도서", "their","contry" } ; public static void main(String args[]) { System.out.println("======= 정렬전 데이터 =========="); for(int k = 0; k < array1.length; k++) System.out.print(array1[k] + " "); System.out.println(); System.out.println("======= 정렬후 .. 2012. 2. 23.
ex18) java_oop public class String01 { public static void main(String[] args) { String Str1; Str1="korea"; //"korea"인문자열의 주소를 Str1이 받는다. String Str2 = "korea";//"korea"인문자열의 주소를 Str2이 받는다. if(Str1==Str2){// 번지값 비교 System.out.println("같다"); }else{ System.out.println("다르다"); } String Str3 = new String ("Seoul"); //=String(String original) String Str4 = new String ("Seoul"); //=String(String original) //new로 선언하면.. 2012. 2. 22.
java _20120220 StringBuffer public final class StringBuffer -> final:상속X extends Object implements Serializable, CharSequence 직렬화 사용유형) - StringBuffer() : 메모리 절약 , string보다 빠르다. 묵시적으로 16개의 문자를 저장할 수 있는 객체를 생성 (초기값 안 썼을때) - StringBuffer(int size) : size 크기의 객체를 생성 - StringBuffer(String str) : str로 지정된 문자열과 추가로 16개의 문자를 더 저장할 수 있는 객체를 생성 java.lang 패키지 : 모든 자바 프로그램에 자동으로 포함되는 패키지 Number:추상적인 클래스 -> 객체정의new연산자 사용X.. 2012. 2. 22.
ex17) java_oop /* //수평적 다형성의 예 interface Inter{ //데이터나 맴버함수가 없어도 상관없다. //여러개 클래스의 공통 public void Display(); } class inter01 implements Inter{ public void Display(){ System.out.println("Inter01 class : "); } } class inter02 implements Inter{ public void Display(){ System.out.println("Inter01 class : "); } } class InterTest implements Inter{ public void Display(){ System.out.println("Inter02 class : "); } } publ.. 2012. 2. 22.
ex16) java_oop interface A03{ int i=10; void Sub1(); // 수행코드 포함할 수 없다. } interface A04{ int j=10; // static맴버! void Sub2(); } /* class A05{ int i =30; void display(){ System.out.println(i); } } */ class Test { // super :현재 class의 상위 클래스! int i=40; } class A05 extends Test implements A03,A04{ int i =30; // => this public void Sub1(){} public void Sub2(){} void display(){ int i=100; System.out.println(i); System.. 2012. 2. 22.
ex15) java_oop /* public class Class01 { public static void main(String str[]) { /* int i= 10; System.out.println(i); i=100; System.out.println(i); */ final int i= 10; // 2012. 2. 21.
ex14) java_oop abstract class A { //class A { //void Sub(); /* sub()함수는 이class에서 하는 역할은 없고 A class에서 상속되는 하위class에서 반드시 재정의 시켜서 사용할 것을 의무화하기위한 목적만을 갖고 있다. */ abstract void Sub(); //이럴때 추상적 매소드를 만들어지는데, 함수머릿부앞에 abstract //추상적인 매소드는 구현해서는 안된다. "{}"조차 사용할 수 없다. //추상적인 매소드 뒤에는 그냥 ";"로 끝난다. //추상적인 매소드 뒤에는 반드시 추상적인 class가 되야하므로 ->abstract class A {로 해야한다 //이것을 추상적인 매소드라고 한다. void Sub1(){ //일반맴버함수 : 모두다 추상적인 매소드가 올 필.. 2012. 2. 21.
ex13) java_oop /* class A1{ //final void Display(){ //재정의 원천 봉쇄를 위한 protected void Display(){ //void Display(){ System.out.println("A1:Diaplay()"); } } class A2 extends A1 { public void Display(){ //void Display(){ System.out.println("A2:Diaplay()"); } } public class Over02 { public static void main(String[] args) { A1 a; a =new A1(); a.Display(); a =new A2(); a.Display(); } } **/ /* class AAAA { int a;} class.. 2012. 2. 21.
ex12) java_oop class AA extends Object{ //extends Object는 상속가능 ; 보통의 경우 생략! public String toString(){ return "AA"; } } class BB extends AA{ // 재정의 예 public String toString(){ return "BB"; } } class CC extends BB{ // 재정의 예 public String toString(){ return "CC"; } } public class Over01 { public static void main(String[] args) { Object o; //다형성 구현을 위한 참조변수 범위 정의! (이 예제는 최상위이다.) //AA로 재정의! o = new Object(); System.. 2012. 2. 21.
ex11) java_oop class Acast { int a=1;} class Bcast extends Acast{ int b=2;} class Ccast extends Bcast{ int c=3;} public class TestCast { public static void main(String[] args) { Acast refA; refA = new Ccast(); //접근 범위 파악 1 System.out.println("refA.a의 값은 "+refA.a); //System.out.println("refA.a의 값은 "+refA.b); //System.out.println("refA.a의 값은 "+refA.c); //접근 범위 파악 2 //Ccast cc = refA; Ccast cc = (Ccast)refA; //강제.. 2012. 2. 21.
ex10) java_oop /* //첫 예제 (앞에 내용 생략..? ㅋ 미쳐 못적음 ㅜㅜ) public class Oop001 { public static void main(String[] args) { A kk; kk= new A(); kk.sub(); //다형성 kk= new B(); kk.sub(); //다형성 } } **/ class A { int aa = 1; } class B extends A { int bb = 2; } class C extends B { int cc = 3; } class Oop001 { public static void main(String[] args) { C objc = new C(); System.out.println("objc객체의 객체속성변수 aa의 값은 " + objc.aa); Syste.. 2012. 2. 21.
java _20120220 예제) public class PrintlnMethod { public static void main( String[] args ) { // println()를 이용해 다른 값을 출력 System.out.println( 3 ); System.out.println( 3.14 ); System.out.println( 'c' ); System.out.println( "gemini" ); // System : class명 / out : static맴버 } } 자료형 1) 기본형 : 값 넘기는 call by value int a=5; float f=4.5; ….. methodA(a,f); // methodA 실매개변수 호출 : call by value methodA(int b, float g) { // metho.. 2012. 2. 20.
ex9) java_oop /* //step 01 class BoxT { private int width; // 변수를 private로 선언하여 외부에서 접근을 막는다 private int height; // 정보의 은폐 제공 private int depth; private int vol; public BoxT(int a, int b, int c) { // 클래스의 이름과 같은 이름으로 생성자 선언 width = a; // 초기화 작업 수행 height = b; depth = c; } public int volume() { vol = width * height * depth; //private속성이이지만, 같은 class안 이므로 사용가능! return vol; } } class BoxTestDemo { public static .. 2012. 2. 16.
ex8) java_oop class HumanInformation { String name; int age; String address; } // 2012. 2. 16.
ex7) java_oop class PersonInformationWithMethod { // 멤버 변수 선언 String name; int age; String address; // ( 생성자는 없음 ) -> 자동으로 디폴트 생성자 만듦(JVM이) -> 전역변수 초기화 (String=null, int=0) // 멤버 변수의 값을 출력하는 method public void printInformation() { System.out.println( name + "은 " + age + "세 이고, " + address + "에 삽니다" ); } } public class PrintInformationWithMethod { public static void main( String[] args ) { // 인스턴스 생성. 인스턴스 명은 .. 2012. 2. 16.
ex6) java_oop //Final 예제 /* public class FinalTeat { public static void main(String[] args) { int i= 100; System.out.println(i); i=20; System.out.println(i); } } **/ /* public class FinalTeat { public static void main(String[] args) { final int i= 100; System.out.println(i); //i=200; System.out.println(i); } } **/ class AA{ final int i; //색상 값의 경우 final 사용 . AA(){ // final 생성자에서만 초기화할 수있고 변형은 불가하다.! i=100; } .. 2012. 2. 16.
ex5) java_oop /* class Box { int width; int height; int depth; long idNum; // ->| 4개의 접근지정자가 생략된 데이터 맴버 // new 연산자가 선언될때마다 메모리 생성 static long boxID = 0; // (static 데이터 맴버 = 클래스 변수) 선언 !! public Box() { // 생성자는 결과형(void) 사용불가 idNum = boxID++; //앞에 this.이 생략되있다. // 생성자가 수행될 때마다 클래스 변수의 값을 증가 } public void Dispaly(){ System.out.println( width +""+ height +""+ depth +"="+idNum); } } public class Oop01 { public st.. 2012. 2. 16.
java _20120216 예) class Box { // class Box 를 개별 저장하는 경우! : class앞에 public을 기입, int width; int height; int depth; } + 생성자가 없는 경우, JVM이 디폴트 생성자를 생성한다. super()를 기본으로 포함하는 width=0; height=0; depth=0; 을 만든다. mybox1 = new Box(); //메모리 구조 heap상에 정의된 메모리 공간은 그 기억공간을 지칭하는 별도의 이름이 없고 단지 stack상의 참조 변수가 번지값을 갖고 있을 뿐이다. [public/private] [static/final] 변수형(자료형) 변수명; >맴버변수 1.객체변수 (static과 final이 붙지 않은 변수) 2.static : 클래스 변수 3.. 2012. 2. 16.
ex4) java_oop class Box { int width; // 데이터의 속성과 생성자, 메소드를 가진 클래스 int height; int depth; public Box(int w, int h, int d) { // 생성자, 클래스명과 이름이 같다 width=w; height=h; depth=d; } public int volume() { // 메소드 int vol; vol = width * height * depth; System.out.println("Volume is "+vol); return vol; } } public class Class02 { public static void main(String[] args) { Box vol = new Box(2,3,4); System.out.println(vol.vol.. 2012. 2. 15.