분류 전체보기213 상속과 생성자 서브/슈퍼 클래스의 생성자 호출 및 실행 new에 의해 서브 클래스의 객체가 생성될 때 슈퍼 클래스의 생성자와 서브 클래스의 생성자가 모두 실행된다이 때 생성자의 호출 순서와 실행 순서가 반대이다. new 실행 시 서브 클래스의 생성자가 호출되고, 이는 슈퍼 클래스의 생성자를 호출한다. 호출된 슈퍼 클래스의 생성자는 자신의 코드를 실행하고, 이를 리턴하여 서브 클래스의 생성자를 실행한다.호출: 서브 → 슈퍼실행: 슈퍼 → 서브서브 클래스에서 슈퍼 클래스의 생성자 선택- 슈퍼 클래스와 서브 클래스 각각 생성자 여러 개 작성 가능- 서브 클래스의 각 생성자에 대해 함께 실행될 슈퍼 클래스의 생성자를 지정해야 함- super()을 이용하여 서브 클래스에서 슈퍼 클래스의 생성자 선택- 명시적으로 지정하지 않을.. 2024. 5. 21. 상속과 접근지정자 https://sysouthelloworld.tistory.com/24 접근 지정자패키지- 서로 관련 있는 클래스 파일(.class)들을 패키지에 저장하여 관리- 폴더 개념과 비슷- 자바 응용프로그램은 여러 개의 패키지로 구성 접근 지정자- public: 모든 클래스에 접근 허용- private:sysouthelloworld.tistory.com 슈퍼 클래스에 대한 접근 지정슈퍼 클래스 멤버에 접근하는 클래스 종류슈퍼 클래스 멤버의 접근 지정자privatedefaultprotectedpublic같은 패키지에 있는 클래스XOOO다른 패키지에 있는 클래스XXXO같은 패키지에 있는 서브 클래스XOOO다른 패키지에 있는 서브 클래스XXOO 슈퍼 클래스의 private 멤버- 슈퍼 클래스의 private 멤버는 .. 2024. 5. 21. 상속 객체 지향의 상속- 부모 클래스의 멤버를 자식 클래스가 물려받는 것- 부모 클래스의 멤버를 재정의할 필요 없음- 코드 중복을 제거하여 프로그램이 간결 객체 지향에서 상속의 장점멤버 중복 작성 제거 → 클래스의 간결화클래스의 계층적 분류 → 클래스 관리 용이클래스 재사용과 확장 용이 → 새로운 클래스 작성 속도 증가 → 소프트웨어 생산성 향상자바의 상속 선언- 부모 클래스: 슈퍼 클래스(super class)- 자식 클래스: 서브 클래스(sub class)- extends 키워드 사용(슈퍼 클래스를 확장한다는 개념) public class Person{ ...}public class Student extends Person{ //Person(슈퍼 클래스)을 상속받는 Student(서브 클래스) 선언 .. 2024. 5. 21. final final 클래스: 클래스 이름 앞에 final을 사용하면 클래스를 상속받을 수 없음final class FinalClass{ //이 클래스는 상속 불가 ...}class SubClass extends FinalClass{ //상속 불가, 컴파일 오류 ...} final 메소드: final로 메소드를 선언하면 오버라이딩할 수 없음public class SuperClass{ protected final int finalMethod(){...} //finalMethod()는 자식 클래스에서 오버라이딩 불가}class Subclass extends SuperClass{ protected int finalMethod(){...} //오버라이딩 불가, 컴파일 오류}- 자식 클래스가 부모 클래스의 특정 메.. 2024. 5. 20. static static 멤버의 선언- static을 붙여 선언class StaticSample{ int n; void g(){...}; static int m; static void f(){...}; } static 멤버와 non-static 멤버의 차이점 non-static 멤버static 멤버선언class Sample{ int n; void g(){ ... }}class Sample{ static int m; static void f(){ ... }}공간적 특성멤버는 객체마다 별도 존재- 인스턴스 멤버멤버는 클래스당 하나 생성- 객체 내부가 아닌 별도의 공간(클래스 코드가 적재되는 메모리)에 멤버 생성- 클래스 멤버시간적 특성객체 생성 시 멤버 생성- 객체가 생길 때.. 2024. 5. 20. 접근 지정자 패키지- 서로 관련 있는 클래스 파일(.class)들을 패키지에 저장하여 관리- 폴더 개념과 비슷- 자바 응용프로그램은 여러 개의 패키지로 구성 접근 지정자- public: 모든 클래스에 접근 허용- private: 동일 클래스 내에서만 접근 허용- protected: 동일 패키지 내에서만 접근 허용, 서브 클래스일 시 다른 패키지에 있어도 접근 허용- default: 같은 패키지 내에서만 접근 허용클래스 접근 지정- 다른 클래스에서 현재 클래스를 활용할 수 있는지 허용 여부 지정 1. public 클래스- 패키지와 상관없이 다른 모든 클래스에게 접근 허용public class World{ ...} 2. 디폴트 클래스- 접근 지정자가 생략된 경우 default로 선언- package-private라고도 .. 2024. 5. 20. 이전 1 ··· 29 30 31 32 33 34 35 36 다음