오버라이딩

    객체 지향

    객체지향 프로그래밍(Object-Oriented Programming) - 실제 세계를 모델링하여 소프트웨어를 개발 - 현실 세계의 개체(Entity)를 속성(Attribute)과 메소드(Method)가 결합된 형태의 객체(Object)로 표현 - 객체들 간의 상호작용을 통해 로직 구성 객체 지향 언어 종류 - Java, Python, C++, C# 등 객체 지향 프로그램의 특징 - 상태(데이터) 중심 - 개발의 효율성 및 편리성 높이는데 목적 - 프로그램 모듈 재사용 가능 객체(Object) - 상태를 나타내는 필드(변수)와 행동을 구현하는 메소드로 구성된 모듈 - 개발 시간(design-time)에는 레퍼런스 변수로 정의 - 실행 시간(run-time)에는 클래스의 인스턴스를 의미 - 실제 세계에 존..

    자바 오버라이딩 & 캐스팅

    중복정의(오버로딩) 메소드 오버라이딩(재정의) 메소드 이름, 리턴 타입, 파라미터 수나 타입이 완전히 일치해야 한다. 오버라이딩(재정의)은 반드시 상속 관계가 있어야 한다. 상위클래스의 메소드의 접근제한자가 protected인 경우 하위클래스가 이 메소드를 오버라이딩하는 경우 접근 제한자는 public 또는 protected이어야 한다. (하위클래스의 접근제어자는 상위클래스보다 크거나 같아야 한다) static, final, private 메소드는 오버라이딩 할 수 없다. override한 경우 상위 클래스의 메소드는 숨는다. 어노테이션 소스 코드에 메타 데이터를 표현하는 것으로 컴파일 또는 실행 과정에서 코드를 어떻게 컴파일하거나 처리할 것인지를 알려주는 정보 실행시 특정 기능을 실행하도록 정보를 제공..