반응형 프로그래밍 언어14 [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. [JAVA] 클래스 & 패키지 클래스 클래스의 생성 - 클래스는 틀이고, 객체는 실체이다. 클래스를 바탕으로 실체를 만들면 객체가 된다. - 클래스의 변수나 메소드는 메모리 공간에 할당되어 있지 않지만, 객체의 변수나 메소드는 메모리 공간에 할당된다. - 객체 생성 방법 : new 키워드를 이용한다. (Ex. Fruit buyer = new Fruit) - 생성된 객체는 인스턴스(Instance)라고 부르고, 객체를 생성하는 행위를 인스턴스화(Instantitaion)라고 한다. - 객체가 생성되면 해당 메모리 주소 값이 참조 변수에 저장된다. 참조 변수에 의해서 객체에 접근이 가능하다. - 객체가 생생될 경우, 멤버 변수에 값이 할당되어 있지 않았다면, 자동으로 기본 값으로 초기화 된다. - 클래스 선언 시 접근 제한자는 publi.. 2021. 1. 20. 이전 1 2 3 4 다음 반응형