JAVA 다형성 - 인터페이스와 추상클래스

자바에서는 다형성이 필수라면 필수일것이다.그러므로 다형성에 대해 확실히 알아두고 제대로 사용할줄 알아야 한다. 다형성(Polymorphism)의 성립 조건- 클래스 계층구조(상속관계)- 메소드 재정의, 동적 바인딩- 업케스팅 후 재정의 된 메소드 호출 위의 세가지 조건을 만족해야지 다형성이 성립 되었다고 할 수 있다. 추상클래스란? (abstract class) 일단 일반 적인 클래스는 세부적이며 아주 구체적이다. ex) 사자, 독수리, 금붕어 등 반면에 추상 클래스는 일반 클래스에 비해 구체적이지 않으며 약간 추상적이다.ex) 포유류, 조류, 어류 등 추상클래스는 반드시 하나이상의 추상메소드를 가지며, 객체를 생성할 수 없다.하지만 슈퍼클래스로 사용할 수는 있으며, 추상메소드를 사용하기 위해서는 반드시..

JAVA 상속 - super 키워드

super 키워드는 상속 관계에서 슈퍼 클래스의 메소드나 필드를 명시적으로 참조하기 위하여 사용된다.슈퍼클래스의 메소드나 필드를 재정의한 경우에 super를 사용하면 슈퍼클래스의 메소드나 필드를 호출할 수 있다.super 키워드는 this 와 비슷한 성질을 지닌다. public static void main(String[] args) {// TODO Auto-generated method stubChild c = new Child("hello"); // child의 객체를 생성하고 생성자 호출}}class Parent {// 전달인자가 있으므로 두번째 메소드(생성자) 실행 - 슈퍼클래스public Parent() {System.out.println("p기본 생성자()");}public Parent(Str..

JAVA 상속 - 부모(슈퍼)클래스와 자식(서브)클래스

상속(Inheritance)이란 이미 존재하는 클래스로부터 멤버들을 물려받는 것이다. 상속되는 클래스를 부모 클래스라하며 슈퍼클래스(Super class)라고도 한다.자식 클래스는 서브클래스(Sub class)라고도 하며 상속을 받는 클래스를 의미한다. 상속이라고 해서 특별한 의미가 있는 것은 아니다. 현실에서와 비슷하게 그저 부모님의 집을 상속받아 그대로 사용을 하거나 물려받은 집을 보수또는 리모델링(오버라이딩)할 수 있는 것과 같다. 자바에서 클래스를 상속 받기위해서는 클래스 정의후에 옆에 extends를 적고 상속받을 클래스 이름을 쓰면된다.ex) class SubClass extends SuperClass 그리고 서브클래스는 슈퍼클래스의 멤버와 메소드들 마치 자기 것처럼 사용할 수 있으며 슈퍼클래..

JAVA 생성자, 설정자, 접근자

일단 간략하게 예를 들어 설명을 하자면num이라는 클래스 내에 각각 생성자와 설정자 그리고 접근자가 있다고 한다면생성자(constructor)는 단순히 Num클래스 의 필드의 초기값을 지정해 주는 것이다.설정자(Mutator)는 이 초기화된 Num클래스의 필드값을 변경하는것 이다.접근자(Accessor)는 변경된 필드값을 읽기 위한것이다. EX)class Num{private int x;}-------------------------생성자 : 필드값 초기화public num(int x) { this.x=x; } 설정자 : 필드값 변경public void setX(int x) { this.x=x; } 접근자 : 필드값 읽기public int getX() { return x; } 여기서 생성자와 설정자는 같..

JAVA 클래스와 객체(class & object) - 객체(object), 클래스(class)

객체는(Object)는 객체 지향 기술의 핵심 개념이다. 객체는 상태와 동작을 가지고 있다. 객체의 상태(state)는 객체(자동차)의 특징값(속성)이다.자동차로 예를 들어 보겠다. [객체: 자동차(car)]차량의 색상: red현재의 기어: 1현재의 속도: 20km/h연식: 2014등등 이런것들이 속성 즉, 객체의 상태(State)가 된다.그리고 저것들을 변수로 표현을 할때 우리는 필드(field)라고 한다.(필드=변수들=속성,상태) 객체의 동작(Behavior)은 객체(자동차)가 취할수잇는 동작이다.시동걸기출발하기멈추기가속 하기감속 하기기어 변경등등 이런것들이 객체의 동작(Behavior)이 된다.그리고 우리는 객체내의 저런 것들을 C언어에서는 함수라하고 자바에선 메소드(Method)라 한다. 클래스(..