반응형

Java/디딤돌 Java 언어 Part1 88

[Java 소스] Object 클래스 toString 메서드 재정의

[Java 소스] Object 클래스 toString 메서드 재정의 //toString 메서드를 재정의하지 않은 클래스public class Def_toString { int value; public Def_toString(int value){ this.value = value; } } //toString 메서드를 재정의한 예public class My_toString { int value; public My_toString(int value){ this.value = value; } public String toString(){ return Integer.toString(value); } } //toString 메서드 재정의 예public class Program { public static void ..

[Java 소스] Object 클래스 hashCode 메서드 재정의

[Java 소스] Object 클래스 hashCode 메서드 재정의 //hashCode 메서드를 재정의public class MyInt { static int seq=0; int value; int hv; public MyInt(int value){ seq++; hv = seq; this.value = value; } public int hashCode(){ return hv; } } //hashCode 메서드 재정의 예public class Program { public static void main(String[] args){ MyInt mi1 = new MyInt(1); MyInt mi2 = new MyInt(1); System.out.println(mi1.hashCode()); System.out..

[Java 소스] Object 클래스 equals 메서드 재정의

[Java 소스] Object 클래스 equals 메서드 재정의 //equals 메서드를 재정의하지 않은 MyData 클래스public class MyData { int num; public MyData(int num){ this.num = num; } } //equals 메서드를 재정의한 MyInt 클래스public class MyInt { int value; public MyInt(int value){ this.value = value; } public boolean equals(Object obj){ if(obj instanceof MyInt){ MyInt mi = (MyInt)obj; return value == mi.value; } return false; } } //equals 메서드 재정의 ..

[Java 소스] 안전한 하향 캐스팅 예

[Java 소스] 안전한 하향 캐스팅 예 Drummer.java Musician.java Pianist.java Program.java //기반 클래스public abstract class Musician { public abstract void Play(); } //파생 클래스 Drummerpublic class Drummer extends Musician { @Override public void Play() { System.out.println("두두둥"); } } //파생 클래스 Pianistpublic class Pianist extends Musician { @Override public void Play() { System.out.println("딩동댕"); } public void Tunn..

[Java 소스] 묵시적 하향 캐스팅 오류 예

[Java 소스] 묵시적 하향 캐스팅 오류 예 //기반 클래스public abstract class Musician { public abstract void Play(); } //파생 클래스 Drummerpublic class Drummer extends Musician { @Override public void Play() { System.out.println("두두둥"); } } //파생 클래스 Pianistpublic class Pianist extends Musician { @Override public void Play() { System.out.println("딩동댕"); } public void Tunning(){ System.out.println("도도 레레 미미 파파 솔솔"); } } /..

[Java 소스] 인터페이스 다중 상속 예

[Java 소스] 인터페이스 다중 상속 예 //IStudy 인터페이스public interface IStudy { abstract void study(); } //IWork 인터페이스public interface IWork { abstract void work(); } //인터페이스 다중 상속한 구현 클래스public class Student implements IStudy, IWork { @Override public void work() { System.out.println("자습하다."); } @Override public void study() { System.out.println("공부하다."); } } //인터페이스 다중 상속 예 public class Program { public stati..

[Java 소스] 계층화 인터페이스 예

[Java 소스] 계층화 인터페이스 예 //기반 인터페이스public interface IGetName { public abstract String getName(); } //구현 클래스public class Student implements IStudy { String name; public Student(String name){ this.name = name; } @Override public String getName() { return name; } @Override public void study() { System.out.println(name+" 공부하다."); } } //계층화 인터페이스 사용 예public class Program { public static void main(String..

[Java 소스] 인터페이스 정의 및 구현 클래스 정의 예

[Java 소스] 인터페이스 정의 및 구현 클래스 정의 예 //인터페이스public interface IStudy { abstract void study(); } //구현 클래스public class Student implements IStudy { @Override public void study() { System.out.println("공부하다."); } } //인터페이스 사용 예public class Program { public static void main(String[] args){ IStudy istudy = new Student(); istudy.study(); } } 실행 결과공부하다. 본문 [Java] 5.4 인터페이스

[Java 소스] 계층화 추상 클래스 예

[Java 소스] 계층화 추상 클래스 예 //최상위 추상 클래스public abstract class BaseAClass { public abstract String getString(); } //파생 클래스(추상 클래스)public abstract class DerivedAClass extends BaseAClass { public abstract int getNum(); } //파생 클래스(구상 클래스)public class DerivedClass extends DerivedAClass { @Override public String getString(){ return "test"; } @Override public int getNum() { return 0; } } //계층화 추상 클래스 진입 클래스..

반응형