본문 바로가기

분류 전체보기322

Polymorphism 다형성 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조 할 수 있도록 한다 참조변수가 사용할 수 있는 멤버의 개수는 인스턴스의 멤버 개수보다 같거나 적어야한다. 조상타입의 참조변수로 자손타입의 인스턴스를 참조할 수 있으나 자손타입의 참조변수로 조상타입의 인스턴스를 참조할 수 는 없다. 참조변수의 형변환 서로 상속 관계에 있는 클래스사이에서만 형변환이 가능하다. 자손타입 -> 조상타입 (up-casting) : 형변환 생략가능 자손타입 2019. 6. 26.
제어자 제어자 : 클래스, 변수 또는 메서드의 선언부에 사용되어 부가적인 의미 부여 접근 제어자 : public, protected, default, private 그 외 : static, fianl, abstract, native, tansient, synchronized, volatile, strictfp static (멤벼변수, 메서드, 초기화 블럭) 멤버변수 모든 인스턴스에 공통적으로 사용하는 클래스 변수 클래스 변수는 인스턴스를 생성하지 않고도 사용이 가능 클래스가 메모리에 로드시 생성 메서드 인스턴스를 생성하지 않고도 호출이 가능한 static메서드가 된다 static메서드 내에서는 인스턴스멤버들을 직접 사용할 수 없다. fianl(클래스, 메서드 , 멤버변수, 지역변수) 클래스 변경될 수 없는 클래.. 2019. 6. 25.
Overriding 오버라이딩 : 조상클래스로 부터 상속받은 메서드의 내용을 변경하는 것 class Point { int x; int y; String getLocation() { return "x :" + x + ", y :"+y; } } class Point3D extends Point{ int z; String getLocation() {//선언부가 일치해야한다. return "x :" + x + ", y :"+ y + ", z:" + z; } } 오버라이딩 조건 3가지 선언부가 일치해야한다. 자손클래스에서 오버라이딩하는 메서드는 조상클래스의 메서드와 이름이 같아야한다.( 매개변수가 같아야 한다. 변환타입이 같아야 한다.지 접근 제어자는 조상클래스의 메서드보다 좁은 범위로 변경 할 수 없다. 조상클래스의 메서드보다 많.. 2019. 6. 25.
상속, 포함 관계 상속 : 기존 클래스를 재사용하여 새로운 클래스를 작성 상속을 통해 클래스를 작성하면 적은양의 코드로 새로운 클래스를 작성할 수 있으며 공통적으로 관리할 수 있어 코드의 추가및 변경에 있어 용이하다. class Child extends Parent{ } 생성자와 초기화 블럭은 상속되지 않고 멤버만 상속 자손 클래스의 멤버 개수는 조상클래스보다 항상 같거나 많다. 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성 포함 관계 : 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것 class Circle{ int x; int y; int r; } class Point { int x; int y; } class Circle { Point c.. 2019. 6. 24.