목록 JAVA (26)
이롭게 현명하게
[인터페이스] 인터페이스 : 클래스가 구현해야 할 메소드들이 선언되는 추상형 public interface 인터페이스이름{ ... } 상수 : public만 허용, public static final 생략 추상 메소드 : public abstract 생략 가능 default 메소드 인터페이스에 코드가 작성된 메소드 인터페이스를 구현한느 클래스에 자동상속 public 접근 지정만 허용, 생략가능 public 메소드 인터페이스 내에 메소드 코드가 작성되어야 한다. 인터페이스 내에 있는 다른 메소드에 의해서만 호출 가능 static 메소드 public,private 모두 지정 가능. 생략하면 public 인터페이스의 객체 생성 불가 인터페이스 타입의 레퍼런스 변수 선언 가능 인터페이스 구현 : 인터페이스를 상..
목차 추상 클래스 추상 클래스 상속 public abstract class 클래스명{ // 필드 // 생성자 // 메소드 } [추상 클래스] 추상(abstract) : 실체 간에 공통되는 특성을 추출한 것 추상 클래스(abstract class) : abstract로 선언된 클래스로 클래스들의 공통적인 특성을 추출해서 선언한 클래스 - 추상 클래스와 실체 클래스는 상속의 관계를 가지고 있다. 추상 클래스 : 부모, 실체 클래스 : 자식 으로 실체 클래스는 추상 클래스의 모든 특성을 물려받고 추가적인 특성을 가질 수 있다. - 추상 메소드, 일반 메소드 둘 다 가질 수 있다. 추상 메소드(abstract method) : 선언 되어 있으나 구현되어 있지 않은 메소드, abstract로 선언, 추상 메소드는..
목차 자동 타입 변환 하나의 배열로 객체 관리 매개 변수의 다형성 강제 타입 변환 객체 타입 확인 업/다운캐스팅 [자동 타입 변환] 다형성 : 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질을 말한다. 즉 부모 타입에 모든 자식 객체가 대입될 수 있다. 이것을 이용하면 객체는 부품화가 가능하다. 타입 변환 : 데이터 타입을 다른 데이터 타입으로 변환하는 행위 클래스 타입 변환은 상속 관계에 있는 클래스 사이에서 발생한다. 자식 타입은 부모타입으로 자동 타입 변환이 가능하다. 자동 타입 변환 : 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급될 수 있다. a와 b,bb 변수는 타입만 다를 뿐 동일한 A 객체를 참조한..
목차 부모 생성자 호출 메소드 재정의 final 클래스와 final 메소드 class 자식클래스 extends 부모클래스{ } 다중 상속이 불가능하다. [부모 생성자 호출] extends 뒤에 부모 클래스를 기술한다. 이때 여러 개의 부모 클래스를 상속할 수 없다. 그러므로 extends 뒤에는 단 하나의 부모 클래스만 와야 한다. class 자식클래스 extends 부모클래스{ } 상속 관계에서의 생성자 : 슈퍼 클래스와 서브 클래스 각각 각 여러 생성자 작성 가능 서브 클래스 생성자 작성 원칙 : 서브 클래스 생성자에서 슈퍼 클래스 생성자 하나 선택 서브 클래스에서 슈퍼 클래스의 생성자를 선택하지 않는 경우 : 컴파일러가 자동으로 슈퍼 클래스의 기본 생성자 선택 서브 클래스에서 슈퍼 클래스의 생성자를..
[상속 개념] 상속 (Inheritance) : 부모가 자식에게 물려주는 행위. 즉 , 부모 클래스의 멤버를 자식 클래스에 물려줄 수 있다. 부모클래스 = 상위클래스 자식 클래스 = 하위 클래스 or 파생 클래스 상속은 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들어 코드의 중복을 줄여준다. 상속을 해도 부모 클래스의 모든 필드와 메소드를 물려받는 것은 아니다. 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외된다. 부모 클래스와 자식 클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메서드도 상속 대상에서 제외된다. 클래스 수정을 최소화 할 수 있다. 중복된 코드를 줄일 수 있다. 유지보수 시간을 최소화시켜준다. 객체 다형성 구현 가능..
목차 접근 제한자 클래스의 접근 제한 생성자의 접근 제한 필드와 메소드의 접근 제한 접근 지정자의 종류 : private, protected, public, 디폴트(접근 지정자 생략) 클래스나 일부 멤버를 공개하여 다른 클래스에서 접근하도록 허용 객체 지향 언어의 캡슐화 정책은 멤버를 보호하는 것 접근 지정은 캡슐화에 묶인 보호를 일부 해제할 목적 public : 패키지에 관계없이 모든 클래스에게 접근 허용 private : 동일 클래스 내에만 접근 허용, 상속받은 서브 클래스에서 접근 불가 protected : 같은 패키지 내의 다른 모든 클래스에게 접근 허용, 상속받은 서브 클래스는 다른 패키지에 있어도 접근 가능 default : 같은 패키지 내의 다른 클래스에게 접근 허용 [접근 제한자] main..