1. 추상메소드(abstract method) 추상메소드란 선언은 되어 있으나 코드가 구현되어 있지 않은 메소드이다. 추상메소드는 abstract키워드를 선언하는 선언부만이 존재하고, 구현부는 작성하지 않고 사용한다. 작성되어 있지 않은 구현부는 자식클래스에서 오버라이딩하여 사용한다. abstract 반환타입 메소드명(); 추상메소드 예시 public abstract String getSubject(); public abstract void setSubject(String s); public abstract fail() { return "Hi" ; }// 컴파일오류 2. 추상클래스(abstract class) 추상메소드를 가지고 있으면 반드시 추상 클래스로 선언해야 한다. 추상클래스 선언은 abstrac..
1. super 부모클래스로부터 상속받은 필드나 메소드를 자식 클래스에서 참조하는 참조변수이다. 부모 클래스의 멤버와 자식클래스의 멤버 이름이 같을 경우 super를 통해 부모 클래스의 멤버에 접근 할 수 있다. 인스턴스 메소드에만 사용 가능하며 클래스 메소드에는 사용할 수 없다. class Parent { int num = 5; } class Child extends Parent { int num = 10; void print() { System.out.println(num);//10 System.out.println(this.num);//10 System.out.println(super.num);//5 } } public class Ex01 { public static void main(String[..
1. 상속의 개념 상속이란 기존 클래스의 변수와 메소드를 물려 받아 새로운 클래스(더 나은, 더 구체적인 클래스)를 구성하는 것을 의미합니다. 이러한 상속은 캡슐화, 추상화, 다형성과 더불어 객체지향프로그래밍을 구성하는 특징 중 하나입니다. 쉽게 이해해보자면 현실세계에서 부모의 생물학적 특성을 자식이 물려받는 유전과 비슷하다고 생각할 수 있습니다. 2. 상속의 필요성 상속의 장점은 다음과 같습니다. 기존 클래스의 변수와 코드를 재사용할 수 있어 개발 시간이 단축됩니다. 먼저 작성된 검증된 프로그램 재사용하기 때문에 신뢰성 있는 프로그램을 개발할 수 있습니다. 클래스 간 계층적 분류 및 관리가 가능하여 유지보수가 용이합니다. 3. 클래스 상속 상속 선언 부모클래스를 슈퍼클래스(super class), 상속..
1. 객체지향프로그래밍(Object Oriented Programming) 자바는 대표적인 객체지향 프로그래밍 언어이다. 실제세계를 객체라는 단위로 나누고 객체들간의 상호작용을 의미한다. 즉, 프로그램을 여러개의 독립된 단위인 객체들의 모임으로 파악하고자 하는 것이다. 객체란 무엇일까? 객체(Object)는 우리 주변에 있는 모든 것이 될 수 있다. 예를 들어 TV, 컴퓨터, 책, 건물, 의자, 사람 등 모두 객체가 될 수 있다. 객체는 자신만의 고유한 특성과 행동을 가지며 다른 객체들에게 행동을 요청하거나 정보를 주고 받는 등 상호작용을 하면서 존재한다. 객체는 크게 속성(필드, field)과 동작(메소드, method)으로 구성되어 있다. 예, 학생의 속성 : 이름, 학년, 학번 등 예, 학생의 동작..