오버라이딩 (overriding) 상속받는 조상의 메서드를 자신(상속받은 클래스)에 맞게 변경하는 것 메소드 동작만을 재정의하는 것 선언부는 못바꾸고 구현부(내용)만 변경 가능 오버라이딩의 조건 선언부 (반환타입, 메서드이름, 매개변수 목록) 가 조상클래스의 메서드와 일치해야 한다. 접근제어자를 조상클래스의 메서드보다 좁은 범위로 변경할 수 없다. 예외는 조상클래스의 메서드보다 많이 선언할 수 없다. 실습 package pkg1; class MyPoint3 { int x; int y; String getLocation(){ return "X:"+x+", y:"+y; } } class MyPoint3D extends MyPoint3 { int z; // 조상의 getLocation()을 오버라이딩 Stri..
접근제어자 (access modifier) 객체지향에서 정보 은닉이란 사용자가 굳이 알 필요가 없는 정보는 숨겨야한다는 개념이다. 접근 제어를 통해 사용자는 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있고, 접근제어자를 사용하면 클래스 외부에서의 직접적인 접근을 허용하지않는 멤버를 설정하여 정보 은닉을 구체화할 수 있다. 접근제어자 종류 Public - 접근 제한이 전혀 없음 Protected - 같은패키지내에서, 다른 패키지의 자손클래스에서 접근 가능 Default - 같은 패키지내에서만 접근 가능 Private - 같은 클래스내에서만 접근 가능 Public public 접근 제어자를 사용하여 선언된 클래스멤버는 외부로 공개되고, 해당 객체를 사용하는 프로그램은 어디서나 직접 접근이 가능하다 자바..
상속 (Inheritance) 기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것 두 클래스를 부모와 자식으로 관계 맺어주는 것 자식클래스가 상속받고싶은 부모클래스를 선택해서 물려받는다 자손은 조상(부모의 부모)의 모든 멤버를 상속받는다 (생성자, 초기화블럭 제외) 자식의 멤버 갯수는 부모보다 같거나 많다 자손의 변경은 조상에 영향을 미치지 않는다. Child class에 새로운 멤버를 추가해도 조상의 클래스에 영향을 받지않음 공통부분은 조상에서 관리하고, 개별부분은 자손에서 관리한다 Child class에만 존재하는 메서드는 부모, 조상클래스에서 사용할 수 없다 부모클래스는 여러개의 자식클래스에게 상속이 가능하고 자식클래스는 여러 부모로부터 다중 상속 받는것은 불가능하다 (단일 상속) 상속해주는 클..