반응형 분류 전체보기110 [JAVA] 추상 클래스(Abstract Class) & 추상 메소드(Abstract Method) 추상 클래스(Abstract Class) 추상 클래스(Abstract Class) 란? - 구상 클래스와 달리 완전히 구현되지 않은 클래스 이다. - 인스턴스 생성을 허용하지 않는 클래스 (컴파일러는 추상 클래스의 인스턴스 생성을 허용하지 않는다.) - 반드시 확장(상속) 을 해야 하는 클래스. 확장하지 않으면 의미가 없다. 추상 클래스 만드는 방법 - 클래스를 선언할 때 앞에 abstract를 붙여준다. // 추상 클래스 클래스 앞에 abstract를 붙인다 abstract class animal{ public String name; public abstract void bark(); } - 추상 클래스는 구상 클래스와 같이 enxtends 키워드를 통해 상속한다. 추상 메소드(Abstract Meth.. 2021. 1. 20. [JAVA] 오버라이딩(Overriding) 과 오버로딩(Overloading) // 다형성 1. 메소드 오버라이딩(Overring) 메소드 오버라이딩(Overriding)이란? - 메소드를 재정의하는 것. - 부모 클래스의 메소드를 자식 클래스가 동일한 형태로 다시 구현할 때 사용한다. 메소드 오버라이딩 사용법 - 인자, 이름은 똑같아야 하고, 리턴 유형은 호환 가능해야 한다. - 매개 변수 이름은 달라도 된다. - 메소드를 더 접근하기 어렵게 만들면 안 된다. 즉, 접근 단계는 그대로 유지하거나, 완화시켜야 한다. (public -> private로 변환하면 안된다.) import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub child1 c=n.. 2021. 1. 20. [JAVA] 상속(Inheritance) 상속(Inheritance) 상속(Inheritance) 이란? - 하위 클래스가 상위 클래스를 확장(extend) 하는 것. - 자바에서 상속은 extends 키워드를 이용하여 상속한다. - 자바에서는 상속을 받지 않은 경우, 기본적으로 java.lang.Object 클래스를 상속 받는다. - 자바에서는 원칙적으로 단일 상속만 지원한다. 다중 상속이 필요한 경우 Interface 키워드를 이용한다. - 상속 받은 여러 클래스 중 같은 이름을 가진 멤버, 메소드가 있는 경우 어떠한 것을 실행해야 하는지 모호하다. [JAVA] 인터페이스(Interface) 인터페이스(Interface) 인터페이스(Interface)의 특징 - 100% 순수한 추상 클래스와 비슷하다. - 추상 메소드들로만 이루어진 모임. .. 2021. 1. 20. [JAVA] 객체의 생성, 생성자 객체의 생성 생성자란? - 객체를 생성할 때 호출하는 메소드 - 생성자를 호출할 때에는 반드시 new 키워드를 앞에 붙여준다. 생성자의 특징 - 생성자는 클래스와 이름이 같다. (메소드의 이름이 클래스의 이름과 같다고 모두 생성자가 아니다. 클래스의 이름과 같은 메소드도 선언이 가능하다.) - 일반 메소드와 달리 리턴 유형이 없다. - 생성자는 일반적으로 객체의 상태를 초기화 하는 작업을 처리한다. (초기화 코드를 집어 넣을 가장 좋은 장소가 생성자이다.) - 프로그래머가 생성자를 선언하지 않으면, 컴파일러는 인자가 없는 생성자를 자동으로 만들어준다. - 컴파일러는 항상 인자가 없는 생성자를 자동으로 만들어주지 않는다. 프로그래머가 인자를 받아들이는 생성자를 만들었다면, 인자를 받아들이지 않는 생성자는 .. 2021. 1. 20. 이전 1 ··· 15 16 17 18 19 20 21 ··· 28 다음 반응형