JAVA - 자바 기초 (day03)

모모는무지개·2024년 4월 5일

JAVA

목록 보기
3/9

어노테이션

어노테이션은 다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석과 같은 의미를 가진다.

@Override
컴파일러에게 메서드를 오버라이딩하는 것이라고 알린다.

어노테이션의 역할

  • 컴파일러에게 문법 에러를 체크하도록 정보를 제공한다.
  • 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공한다.
  • 런타임에 특정 기능을 실행하도록 정보를 제공한다.

클래스 자동 타입 변환

  1. 오버라이딩한 메소드는 클래스 타입 변활을 하더라도 자식 메소드를 호출

  2. 클래스 타입 변환을 한 클래스는, 더 이상 자식 클래스만의 멤버들을 호출 할 수 없다.

    • upcasting은 서브타입의 인스턴스를 수퍼타입의 변수로 접근하는 것을 말합니다.
      즉, 자식 클래스가 부모 클래스 타입으로 캐스팅 되는것을 뜻합니다.
      이때 서브 타입에서는 수퍼타입에 선언된 필드 혹은 메서드만 접근 가능합니다.

    • downcasting은 서브타입 인스턴스를 참조하는 수퍼타입 변수를 재참조하는 것을 말합니다.
      즉, 부모 클래스가 자식클래스 타입으로 캐스팅되는 것을 뜻합니다.
      이때 강제형변환이 일어나며, 다운캐스팅한 타입에서 선언된 모든 필드와 메서드에 접근이 가능합니다.


instanceOf

  • instanceof는 객체 타입을 확인하는 연산자이다.
  • 형변환 가능 여부를 확인하며 true / false로 결과를 반환한다.

추상 메서드

추상 메서드를 사용할라면 추상클래스 내에서 사용해야함. but 추상 클래스에는 추상 메서드가 꼭 있어야하는 건 아님.

자식 클래스를 사용하는 이유

  • 자식 클래스들 간 공통적인 메소드 이름 및 구현 내용 통일
  • 반드시 구현해야하는 메소드 선언함으로써 공통 규격 제공

Interface

인터페이스에서는 필드 대신 상수를 선언할 수 있다.


페어프로그래밍 회고

5분씩 번갈아 2명이서 한명은 훈수, 한명은 코딩 하는 페어프로그래밍을 진행했다. 이전에 해본적이 없었던 경험이라 새로웠다 특히, 서로 코드리뷰를 하면서 서로 잘모르는 부분은 페어의 설명을 듣고 이해할 수 있었던 부분이 좋았다. 항상 뭔가 알고리즘 문제를 기계적으로 풀었던 탓에 기존의 알고리즘을 구현하려니 약간 어렵게 느껴졌던 것 같다. 앞으로 코딩테스트 대비용으로 문제를 푼다기 보다 학습을 위한 공부를 해야겠다는 생각이 드는..

profile
안녕하세요 하하하

0개의 댓글