전체 글27 220118 혼자공부하는자바 Ch9 중첩 클래스와 중첩 인터페이스 09-1) 중첩 클래스와 중첩 인터페이스 소개 중첩 클래스: 클래스의 멤버로서 선언되는 중첩 클래스를 멤버클래스 - 클래스 or 객체가 사용 중이면 언제든지 재사용 가능 생성자 or 메소드 내부에서 선언되는 중첩 클래스를 로컬클래스 - 메소드 실행할 때만 사용, 메소드 종료 후 없어짐 멤버클래스에는 인스턴스 멤버 클래스와 정적 멤버 클래스가 있다. 인스턴스 멤버 클래스는 static키워드 없이 중첩 선언된 클래스. 인스턴스 필드, 메소드만 선언할 수 있음 정적필드, 메소드는 X - 바깥클래스의 객체를 생성해야만 인스턴스 멤버 클래스의 객체를 생성할 수 있음 정적 멤버 클래스는 static키워드로 선언된 클래스. 모든 종류의 필드와 메소드 선언 가능함. 바깥클래스 외부에서 정적멤버클래스 객체를 생성하기 위.. 2022. 1. 18. 220118 혼자공부하는자바 Ch8 인터페이스 Chapter8. 인터페이스 08-1) 인터페이스 - 인터페이스는 객체의 사용 방법을 정의한 타입이다. 인터페이스의 메소드를 호출하면 객체의 메소드를 호출시킨다. - 상수 필드와 추상메소드로 구성된다. - 구현클래스는 반드시 추상메소드를 재정의해야한다. 클래스 선언시 implements 키워드를 사용한다. - 클래를 선언할 때, 인터페이스는 필드, 생성자 or 메소드의 매개변수, 생성자 or 메소드의 로컬 변수로 선언될 수 있다. [인터페이스 상수필드, 추상메소드 선언] public interface RemoteControl { //상수 int MAX_VOLUME = 10; int MIN_VOLUME = 0; //추상메소드 - 메소드 선언부만 작성 void turnOn(); void turnOff(); .. 2022. 1. 18. 220117 혼자공부하는자바 Ch7 상속, Chp8 인터페이스 07-2) 타입 변환과 다형성 필드의 다형성 필드의 타입을 부모타입으로 선언하면 다양한 자식 객체들이 저장될 수 있어서 필드 사용 결과가 다양해진다. 이를 구현하기 위해 상속, 오버라이딩, 타입 변환을 이용하는 것이다. 매개변수의 다형성 자동 타입 변환은 필드 값을 대입할 때도 발생하지만, 주로 메소드를 호출할 때 많이 발생한다. 메소드를 호출할 때, 매개값을 다양화하기 위해 매개변수에 자식 객체를 지정할 수도 있다. //부모클래스 public class Vehicle { public void run() { System.out.println("차량이 달립니다."); } } //부모클래스를 이용하는 클래스 public class Driver { public void drive(Vehicle vehicle).. 2022. 1. 18. 220115 혼자공부하는자바 Ch7 상속 07-1) 상속 클래스 상속 class 자식클래스 extends 부모클래스 { //필드 //생성자 //메소드 }의 형태로 작성한다. 자바에서 상속의 특징은 1)다중상속이 불가하고, 2)부모클래스에서 private 접근제한을 갖는 필드와 메소드는 상속대상에서 제외된다. 부모/자식클래스가 다른 패키지에 존재한다면 default접근제한을 갖는 필드와 메소드도 상속대상에서 제외된다. class Cal{ public int sum(int v1, int v2) { return v1+v2; } } class Cal3 extends Cal{ //부모가 갖고 있지 않은 메소드를 추가 public int minus(int v1, int v2) { return v1-v2; } //부모가 갖고 있는 메소드를 재정의 ->Ove.. 2022. 1. 15. 이전 1 2 3 4 5 6 7 다음