자바

    문자열(String)이 객체라고요?

    String클래스 자바에서 문자열은 쌍 따옴표 “ ” 로 감싸면 된다. 자바에서 문자열을 저장하는 기본 자료형(DataType)은 없다. 문자열은 여러가지 조작을 할 수 있기 때문에 별도의 클래스로 참조자료형( java.lang.String)을 만들어 두었다. 그래서 자바에서 문자열은 책, 영화, 회원 처럼 객체로 취급된다. 코드로 실습 public class TPC34 { public static void main(String[] args) { String str1 = new String("APPLE"); //Heap Area에 서로 다른번지의 APPLE객체가 2개 생성된다. String str2 = new String("APPLE"); System.out.println("str1==str2: "+st..

    Object 클래스는 신이야

    Object 클래스는 신이야

    Object 클래스에서는 toString() 메서드가 존재하며, toString() 메소드는 재정의를 하지 않는 경우에는 "해당 객체의 주소를 문자열로 출력"해주며, 사용자 정의 클래스(객체)에서 재정의를 했을 경우 재정의된 메서드 toString()를 실행된다. public class A extends Object { public A() { super(); } public void display() { System.out.println("나는 A이다."); } @Override public String toString() { return "재정의 메서드 입니다."; } } 자식 클래스 A에서 toString()를 오버라이딩 하였기 때문에 toString()을 호출하는 경우 "재정의 메서드 입니다"가 출..

    추상클래스 vs 인터페이스

    추상클래스와 인터페이스의 공통점 객체생성불가 추상메서드를 가진다. 자식클래스나 구현클래스에서 추상메서드를 반드시 오버라이딩을 해야한다. 추상클래스와 인터페이스의 차이점 추상클래스 추상클래스는 추상메서드와 구현메서드를 가질 수 있다. 추상클래스에 공통의 동작을 나타내는 구현메소드 walk()가 존재하므로 서로 기능이 비슷한 클래스(Dog.class, Cat.class)의 공통부분을 묶을 때 사용한다. 단일상속만 가능 인터페이스 구현메서드를 가질 수 없으며, 100% 추상메서드만 가질수 있다. 서로 기능이 다른 클래스(TV class, Radio class)의 공통부분(리모콘)을 묶을 때 사용된다. 다중구현(implements)이 가능 ※주의할 것 public class Dog extends Animal i..

    인터페이스(100% 다형성 보장) & final, static

    인터페이스 1. 인터페이스는 구현메서드는 포함하지 않으며, 100% 추상메소드로 이루어져 있다. 인터페이스는 장애객체때문에 RemoCon rc = new RemoCon(); 객체 생성불가!! public interface RemoCon { public int MAXCH=100; public static final int MINCH=1; public void chUp(); public void chDown(); public void internet() ; } 2. 인터페이스 내에 있는 필드 앞에 static이 붙는 이유 public static final int MAXCH = 100; public static final int MINCH=1; →인터페이스는 객체 생성이 불가하므로 구현클래스에서 객체생성없이..