목록2020/10/27 (6)
디케이
클래스 형변환 부모타입으로 자식객체를 참조하게 되면 부모가 가지고 있는 메소드만 사용할 수 있다. 자식객체가 가지고 있는 메소드나 속성을 사용하고 싶다면 형변환 해야 한다. 형변환 public class Car{ public void run(){ System.out.println("Car의 run메소드"); } } public class Bus extends Car{ public void ppangppang(){ System.out.println("빵빵."); } } 상속관계란 is a 관계라고 말했었습니다. Bus는 Car다. 라는 관계가 성립되는 것이죠. 현실에서도 우리는 버스를 가리키면서 차다. 라고 말하곤 합니다. 부모타입으로 자식객체를 참조할 수 있다. 부모타입으로 자식객체를 참조하게 되면 부모..
오버라이딩 오버라이딩이란 부모가 가지고 있는 메소드와 똑같은 모양의 메소드를 자식이 가지고 있는 것이다. 즉 오버라이딩이란 메소드를 재정의 하는 것이다. 메소드 오버라이딩 Car 클래스를 상속받은 Bus 클래스는 부모클래스가 가진고 있는 run() 메소드를 잘 사용한다. //run 메소드를 가지고 있는 Car클래스 public class Car{ public void run(){ System.out.println("Car의 run메소드"); } } //Car 를 상속받는 Bus 클래스 public class Bus extends Car{ } public class BusExam{ public static void main(String args[]){ Bus bus = new Bus(); bus.run()..
class가 인스턴스화 될때 생성자가 실행되면서 객체의 초기화를 한다. 그 때 자신의 생성자만 실행이 되는것이 아니고, 부모의 생성자부터 실행된다. 부모 생성자 public class Car{ public Car(){ System.out.println("Car의 기본생성자입니다."); } } public class Bus extends Car{ public Bus(){ System.out.println("Bus의 기본생성자입니다."); } } 생성자 테스트 public class BusExam{ public static void main(String args[]){ Bus b = new Bus(); } } 결과 Car의 기본생성자입니다. Bus의 기본생성자입니다. new 연산자로 Bus객체를 생성하면, ..
추상 클래스란 구체적이지 않은 클래스를 의미한다. 독수리, 타조는 구체적인 새를 지칭하는데 새, 포유류 같은 것은 구체적이지 않다.이런 것을 구현한 클래스를 추상 클래스라고 한다.추상 클래스 정의하기 추상 클래스는 클래스 앞에 abstract 키워드를 이용해서 정의한다. 추상 클래스는 미완성의 추상 메소드를 포함할 수 있다. 추상 메소드란, 내용이 없는 메소드 이다. 즉 구현이 되지 않은 메소드이다. 추상 메소드는 리턴 타입 앞에 abstract라는 키워드를 붙여야 한다. 추상 클래스는 인스턴스를 생성할 수 없다. public abstract class Bird{ public abstract void sing(); public void fly(){ System.out.println("날다."); } } ..
접근 제한자란 클래스 내에서 멤버의 접근을 제한하는 역할을 한다.접근제한자의 종류 public 어떤 클래스든 접근할 수 있다는 것을 의미 protected 자기 자신, 같은 패키지, 서로 다른 패키지다 하더라도 상속받은 자식 클래스에서는 접근할수 있다는 것을 의미 private 자기 자신만 접근할 수 있다는 것을 의미 접근제한자를 적지 않으면 default접근 지정자 자기자신과 같은 패키지에서만 접근할 수 있다는 것을 의미 순서 public > protected > default > private public class AccessObj{ private int i = 1; int k = 2; // default접근 제한자 public int p = 3; protected int p2 = 4; } Acce..
상속이란? 부모가 가진것을 자식에게 물려주는것을 의미한다. 노트북은 컴퓨터의 한 종류다. 침대는 가구의 한 종류다. 혹은 침대는 가구다. 소방차는 자동차다. 이렇게 말할 수 있는 관계를 is a 관계 혹은 kind of 관계라고 한다. Car 를 상속받은 Bus 를 class로 표현하는 방법 public class Car{ } public class Bus extends Car{ } 자바는 클래스 이름 뒤에 extends 키워드를 적고 부모클래스 이름을 적게 되면 부모 클래스가 가지고 있는 것을 상속받을 수 있게 된다. 상속이란 부모가 가지고 있는 것을 자식이 물려받는 것을 말한다. 즉, 부모가 가지고 있는 것을 자식이 사용할 수 있게 된다. 부모클래스에 메소드 추가하기 Car에 run()메소드를 추가 ..