자바 수업 8일차(21.12.02)

S.KIOH·2021년 12월 2일
0

자바

목록 보기
8/9

OOP

public void run(){}; : Runnable의 추상메소드를 구현(완성)한다

JOptionPane.showMessageDialog(null, " "); : 메세지 창

내부클래스

hashCode()

  • Object클래스에 정의된 hashCode메서드는 객체의 주소값을 이용해서 해시코드를 만들어 반환하기 때문에 서로 다른 두 객체는 결코 같은 해시코드를 가질 수 없다.

toString()

  • 이 메서드는 인스턴스에 대한 정보를 문자열로 제공할 목적으로 정의한 것이다. 인스턴스의 정보를 제공한다는 것은 대부분의 경우 인스턴스 변수에 저장된 값들을 문자열로 표현한다는 뜻이다.
  • 클래스를 작성할 때 toString()을 호출하면 클래스이름에 16진수의 해시코드를 얻게 될 것이다.

내부클래스는 상위클래스의 변수를 사용 가능

외부로 내부 클래스를 불러올 때

  • Person.Head head = p1.new Head();
    head.print();

스테틱 내부 클래스(외부클래스 이름으로 객체 생성)

  • Person.Body body = new Person.Body();
    body.print();

Runnable 인터페이스는 객체를 만들 수 없지만 익명 클래스를 바로 만들어 추상메소드를 구현(생성)하여 사용가능

매개변수로 인터페이스의 객체가 입력될 경우 익명 클래스를 이용해 바로 작성 가능

public void activate(Runnable runnable){runnable.run();} : 인터페이스의 추상메서드 실행

static 이너 클래스는 외부 클래스의 일반변수에 접근할 수 없고 non-static 이너 클래스는 접근 가능

인터페이스 Runnable은 객체를 만들 수 없지만 코드블록{}안에 바로 추상메서드 run을 구현하면 익명클래스로 객체 생성

0개의 댓글