본문 바로가기

오버라이딩

정적메소드와 인스턴스 정적 메소드는 this 레퍼런스가 없다(인스턴스 메소드는 각각의 인스턴스마다 메모리를 할당하여 어떤 객체에서 불러왔는지 구분할 필요가 있기때문에 this가 필요하고 정적 메소드는 클래스로 선언된 모든객체에 의해 공유되기때문에 객체를 구분할 필요가없음 )– 정적 메소드는 오버라이딩이 불가하다.– 정적메소드는 인스턴스 멤버를 호출할 수 없다. 메모리 할당 순서는클래스가 메모리 할당 -> 정적 멤버변수 -> main 메소드-> 객체 생성후 -> 인스턴스 멤버 변수api 중에서 Math 라는 클래스는 수학관련된 정적 메소드로 정의 되어있음 왜냐면 매번 인스턴스를 생성하는 것이 번거롭기 때문에 클래스로 바로 접근해서 속성이나 메소드를 사용하는 것이 메모리를 보다 효율적으로 사용할수 있는 방법이라서 ~ 더보기
메소드 오버라이딩 상속 – 슈퍼클래스, 서브클래스protected – 상속관계나 같은 패키지 내 접근가능레퍼런스 변수super – 부모 메소드나 변수를 부를때은닉변수 – 메소드 오버라이딩을하면 부모 메소드는 은닉상속에서의 생성자 – 생성자는 상속되지 않는다. 명시하지 않아도 자동 호출 서브클래스의 인스턴스가 생성되려면 슈퍼클래스의 멤버변수를 포함한 인스턴스도 생성된다. 생성자 생성자는 상속되지않는 유일한 멤버함수이다. 서브클래스의 인스턴스가 생성될 때 자신의 생성자가 호출되면서 슈퍼 클래스의 생성자를 연속적으로 자동호출한다.슈퍼 클래스 생성자가 먼저 실행되고 서브클래스의 생성자가 실행된다.\생성자 문제슈퍼클래스에서 전달인자를 갖는 생성자만 정의해 놓으면 전달인자를 갖지 않는 디폴트 생성자를 더 이상 ㅍ컴파일러가 제공하지 .. 더보기