자바 인터페이스

    객체 지향

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

    자바 추상 클래스 & 인터페이스

    static 메소드는 super, this 사용불가 String, Integer 등 클래스는 final 클래스로 상속 불가 final(상수의 의미) 메소드는 오버라이딩(재정의) 불가 추상 클래스(abstract 클래스) abstract 클래스는 선언만 있고 정의가 없는 하나 이상의 추상 메서드를 갖는 클래스 하위 클래스에서 재정의할 것으로 예상되는 메서드에 대해 메모리 낭비 없이 미리 호출 계획을 세워 두기 위해 작성 클래스가 적어도 하나의 추상 메서드를 포함할 때, 그 클래스는 클래스명 앞에 abstract 키워드를 붙여 추상 클래스로 명시해야 한다. abstract는 final, static과 같이 사용할 수 없다. 추상클래스는 미완성된 클래스이므로 객체 생성할 수 없다. 자식이 없는 추상클래스는 존..