![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/vlFis/btrxZCNbPPm/Z4UEpr3IM3kUWW4P5vssWK/img.png)
1. 다형성(polymorphism) 하나의 객체가 여러 자료형 타입을 가질수 있는 것을 다형성(polymorphism)이라고 한다. 부모클래스의 참조변수로 자식클래스 타입의 인스턴스를 참조할 수 있다. 오버라이딩은 상속을 통해 '같은 이름의 메소드를 서로 다른 내용으로 구현'한다는 점에서 객체 지향의 다형성을 실현한다고 볼 수 있다. 참조변수의 다형성 자바에서는 부모클래스의 참조변수로 자식클래스 타입의 인스턴스를 참조할수 있는데 이때 참조 변수가 사용할 수 있는 멤버의 개수가 실제 인스턴스의 멤버 개수보다 같거나 적어야 가능하다. 자식클래스의 참조변수로 부모클래스의 인스턴스를 참조할 수 없다. 자식클래스에서 사용할 수 있는 멤버의 개수는 부모클래스와 같거나 많기 때문에 참조 할 수 없다. class P..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cOLfQS/btrxVlqzJi2/5uwnGN05PCXazxtjUgCOhk/img.png)
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[..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cdnfrw/btrw7SC2Jho/5Yz7wyQOkmkBKboFaKlql1/img.png)
1. 상속의 개념 상속이란 기존 클래스의 변수와 메소드를 물려 받아 새로운 클래스(더 나은, 더 구체적인 클래스)를 구성하는 것을 의미합니다. 이러한 상속은 캡슐화, 추상화, 다형성과 더불어 객체지향프로그래밍을 구성하는 특징 중 하나입니다. 쉽게 이해해보자면 현실세계에서 부모의 생물학적 특성을 자식이 물려받는 유전과 비슷하다고 생각할 수 있습니다. 2. 상속의 필요성 상속의 장점은 다음과 같습니다. 기존 클래스의 변수와 코드를 재사용할 수 있어 개발 시간이 단축됩니다. 먼저 작성된 검증된 프로그램 재사용하기 때문에 신뢰성 있는 프로그램을 개발할 수 있습니다. 클래스 간 계층적 분류 및 관리가 가능하여 유지보수가 용이합니다. 3. 클래스 상속 상속 선언 부모클래스를 슈퍼클래스(super class), 상속..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/OXkax/btrw43cIzPf/6khs8wvLs0iJB714NxXoP1/img.png)
1. 메소드의 개념 자바에서 특정 작업을 수행하기 위한 명령문의 집합을 메소드라고 부른다. 다른 프로그래밍 언어에는 함수와 같은 것을 메소드라고 볼 수 있다. 메소드 사용 목적 중복되는 코드의 반복을 피할 수 있기 때문이다. 모듈화를 통해 코드의 가독성이 좋아진다. 기능 변경이 필요할때 유지보수를 쉽게 할 수 있다. 메소드 정의 접근제어자 반환타입 메소드이름(입력자료형1 매개변수1, 입력자료형2 매개변수2, ...) { // 선언부 // 구현부 return 리턴값; } 접근제어자는 해당 메소드에 접근할 수 있는 범위를 나타냅니다. 반환타입(return type)은 메소드가 모든 작업을 마치고 반환하는 데이터의 타입을 나타냅니다. 리턴값이 없으면 void로 표기한다. 메소드이름은 메소드 호출을 위함 이름입..