JAVA/객체지향25 내부 클래스 내부 클래스 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있습니다. 코드의 복잡성을 줄일 수 있습니다(캡슐화) 내부 클래스의 선언 class Outer { int iv = 0; abstract int cv = 0; void myMethod() { int lv = 0; } } class Outer { class InstanceInner {} static class StaticInner{} void myMethod(){ class LocalInner {} } } 이렇게 변경 가능합니다. 내부 클래스의 제어자와 접근성 내부 클래스도 클래스이기 때문에 abstract나 final과 같은 제어자를 사용할 수 있을뿐 아니라 멤버변수들처럼 private.protected과 접근제어자도 사용이 가능합니다 익.. 2023. 2. 23. 인터페이스 인터페이스는 추상메서드의 집합 아무것도 없는 기본 설계도 이며 다른클래스를 작성하는데 도움 줄 목적으로 작성됩니다. 추상 클래스 와 인터페이스의 차이는 인터페이스 (추상메서드) 추상클래스(일반클래스인대 추상메서드를 가지고있다.) 추상 클래스는 클래스인데 추상 메서드를 포함하는 클래스, 멤버 변수를 가질 수 있음. 인터페이스는 추상 메서드’만’ 포함하는 클래스, 멤버 변수(iv, cv)를 가질 수 없음 정확히 말하자면 추상 메서드외에도 상수, static메서드, default메서드를 가질 수 있으나, 핵심은 인터페이스가 추상 메서드의 집합이라는 것임 추상 클래스 인터페이스 사용 키워드 abstract interface 사용 가능 변수 제한 없음 static final (상수) 사용 가능 접근 제어자 제한 .. 2023. 2. 23. 추상 클래스 미완성 설계도 입니다. 단지 미완성 클래스입니다. abstract class 클래스이름{ // 미완성 메서드 추상메서드 } abstract class Player{ // 추상클래스 (미완성 클래스) abstract void play(int pos); // 추상 메서드 (몸통 {}이 없는 메서드) abstract void stop(); // 추상 메서드 void move() { /* 생략 */ } } 다른클래스 작성에 도움을 주기 위한 것입니다 인스턴스 생성 불가 추상적 클래스의 작성 lass Marine { int x, y; void move(int x, int y) { 지정된 위치로 이동 } void stop() { 정지 } void stimPack() { 스팀팩 사용 } } class Tank { i.. 2023. 2. 23. 다형성 조상클래스 타입의 참조변수로조상 자손 관계의 참조변수는 서로 형 자손 클래스의 인스턴스를 참조할 수 있도록 하였습니다 참조변수가 사용할 수 있는 맴버의 개수는 인스턴스의 맴버 개수보다 같거나 적어야합니다 조상타입의 참조변수로 자손타입의 인스턴스를 참조할수있습니다 반대로 자손타입의 참조변수로 조상타입의 인스턴스를 참조할 수는 없습니다 참조변수의 형변환 사용할 수 있는 맴버의 갯수를 조절하는 것입니다 조상 자손 관계의 참조변수는 서로 형변환이 가능합니다. 자손타입 ->조상타입 :형변환 생략가능 자손타입 자손 조상 자손타입의 참조변수 업캐스팅 : 자손타입의 참조변수 -> 조상타입의 참조변수 매개변수의 다형성 장점 1.다형적 매개변수 2.하나의 배열로 여러종류 객체다루기 참조형 매개변수는 메서드 호출시 자신과 .. 2023. 2. 23. 이전 1 2 3 4 5 6 7 다음