객체지향프로그래밍7 Java_Study 객체지향 프로그래밍_내부 클래스 내부 클래스란? 내부 클래스의 장점 - 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근 가능 - 코드의 복잡성을 줄일 수 있음 (캡슐화) 내부 클래스의 종류와 특징 내부 클래스 특징 인스턴스 클래스 외부 클래스의 멤버변수 선언위치에 선언 외부 클래스의 인스턴스멤버처럼 다루어 짐. 주로 외부 클래스의 인스턴스멤버들과 관련된 작업에 사용될 목적 스태틱 클래스 외부 클래스의 멤버변수 선언위치에 선언 외부 클래스의 static멤버처럼 다루어짐 주로 외부 클래스의 static 멤버, 특히 static메서드에서 사용될 목적으로 선언 지역 클래스 외부 클래스의 메서드나 초기화블럭 안에 선언 선언된 영역 내부에서만 사용될 수 있음 익명 클래스 클래스의 선언과 객체의 생성을 동시에 하는 이름없는 클래스(일회용) 익명클.. 2022. 7. 7. Java_Study 객체지향 프로그래밍_인터페이스 인터페이스란? : 일종의 추상클래스로, 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외 다른 어떠한 요소도 허용하지 않는다. 인터페이스의 작성 interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메서드이름(매개변수목록); } - 모든 멤버변수는 public static final 이어야 하며, 이를 생략할 수 있다. - 모든 메서드는 public abstract 이어야 하며, 이를 생략할 수 있다. 단, static메서드와 디폴트 메서드는 예외 인터페이스의 상속 인터페이스는 인터페이스로부터만 상속받을 수 있으며, 다중상속이 가능하다. interface Movable { void move(int x, int y); } int.. 2022. 7. 7. Java_Study 객체지향 프로그래밍_추상클래스 추상클래스란? - 추상 클래스로 인스턴스를 생성할 수 없다. - 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. abstract class 클래스이름 { // ... } 추상메서드 : 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것 /* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명한다. */ abstract 리턴타입 메서드이름(); - 추상 클래스로부터 상속받는 자손클래스는 오버라이딩을 통해 조상인 추상클래스의 추상메서드를 모두 구현해주어야 한다. abstract class Player { abstract void play(int pos); abstract void stop(); } class AudioPlayer extends Player { void play.. 2022. 7. 7. Java_Study 객체지향 프로그래밍 (상속) 상속의 정의와 장점 상속이란? : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. 장점 : 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여 방법 : 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써준다. 조상 클래스 부모클래스, 상위클래스, 기반클래스 자손 클래스 자식클래스, 하위클래스, 파생된 클래스 - 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. - 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다. 클래스간의 관계 - 포함관계 : 한 클래스의 멤버변수로 다.. 2022. 7. 3. 이전 1 2 다음