본문 바로가기

전체 글112

[Java] 7. 상속 (3) - 7~9 7.7 타입 변환 - 클래스의 타입 변환: 상속 관계에 있는 클래스 사이에서 발생(1) 자동 타입 변환부모타입 변수 = 자식타입객체; 이 경우에 자동 타입 변환이 일어남 - 상속 계층에서 상위 타입이면 자동 타입 변환 일어남 - 자식은 부모의 특징과 기능을 상속받음; 부모와 동일하게 취급될 수 있음 (예: 고양이가 동물의 특징과 기능을 상속받음 --> '고양이는 동물이다' => Animal animal = new Cat(); ) - 위의 예시에서, new Cat()으로 생성되는 객체와 animal 객체는 동일한 Cat 객체를 참조함 -> == 연산결과 true - 부모 타입으로 자동 타입 변환된 이후에는 부모 클래스에 선언된 필드와 메소드만 접근이 가능 .. 2025. 5. 21.
[Java] 7. 상속 (2) - 5~6 7.5 final 클래스와 final 메소드(1) final 클래스public final class 클래스 { ... } - 클래스 선언 시 class 앞에 final 키워드를 붙이면 더 이상 상속할 수 없는, 최종적인 클래스가 됨 => final 클래스 == 부모 클래스 될 수 없음 == 자식 클래스 만들 수 없음 (2) final 메소드public final 리턴타입 메소드(매개변수, ...) { ... } - 메소드 선언 시 final 키워드를 붙이면 오버라이딩 할 수 없는, 최종적인 메소드가 됨 => 부모 클래스에 선언된 final 메소드는 자식 클래스에서 재정의될 수 없음 7.6 protected 접근 제한자 - protected: public과 default의 중간쯤.. 2025. 5. 20.
[Java] 7. 상속 (1) - 1~4 7.1 상속 개념 (+) 중복되는 코드를 줄여 개발 시간 단축 (+) 클래스의 수정을 최소화 : 부모 클래스 수정 시 모든 자식 클래스에 수정 효과 적용됨 7.2 클래스 상속 - 자식 클래스 선언 시 어떤 부모로부터 상속받을 것인지를 결정; 부모 클래스를 extends 뒤에 기술public class 자식클래스 extends 부모클래스 {} - 자바는 다중 상속을 허용하지 않음; 여러 개의 부모 클래스 상속 불가능 == extends 뒤에는 단 하나의 부모 클래스만이 옴 7.3 부모 생성자 호출 - 자식 객체 생성 시 부모 객체가 먼저 생성된 후 자식 객체가 생성됨 - 부모 생성자는 자식 생성자의 맨 첫 줄에 숨겨져 있는 super()에 의해 호출됨; 컴파일 과정에서 자동.. 2025. 5. 20.
[Java] 6. 클래스 (6) - singleton 6.15 싱글톤 패턴_이어서* 싱글톤 패턴 : 클래스의 인스턴스를 오직 하나만 생성하고, 이 인스턴스에 전역적으로 접근할 수 있도록 보장하는 디자인 패턴 - 사용 예시 : 로깅(하나의 로거 인스턴스로 여러 곳에서 로그 기록을 남기고, 일관성을 유지할 때), 설정 관리(시스템 전체에서 하나의 설정 객체만 사용해야 할 때), 자원을 공유해야 할 때 등예를 들어, 여러 곳에서 사용할 수 있는 공용 카운터가 있을 때. (이 카운터는 프로그램 전체에서 단 하나만 존재, 어디서든 할당된 값을 증가시키거나 읽을 수 있어야 함)public class Counter { // 카운터의 유일한 인스턴스를 저장할 변수 private static Counter instance; // 카운터 값 초기화.. 2025. 5. 17.
[Java] 6. 클래스 (5) - 13~15 6.13 접근 제한자 - 중요한 필드와 메소드가 외부로 노출되지 않도록 해 객체의 무결성을 유지하기 위해 사용 - public / protected / (default) / private (1) 클래스의 접근 제한 - 클래스는 public / default 접근 제한을 가질 수 있음 - public을 생략했다면 클래스는 default 접근 제한을 가짐 == 다른 패키지에서는 사용할 수 없음 (2) 생성자의 접근 제한 - 생성자는 public / default / private 접근 제한을 가짐 - private : 클래스 내부에서만 생성자를 호출할 수 있음 == 클래스 내부에서만 객체를 생성할 수 있음 (3) 필드와 메소드의 접근 제한 - 필드와 메소드는 public.. 2025. 5. 14.