본문 바로가기
728x90
반응형

클래스11

[Java] 내부 클래스와 익명 클래스 내부 클래스 (Inner class, 중첩 클래스) - 클래스 내부에서 선언한 다른 클래스 → 해당 클래스를 감싸고 있는 '외부 클래스'와 밀접한 연관이 있는 경우가 많음 - 다른 외부 클래스에서 사용할 일이 없는 경우에는 내부 클래스로 선언하는 것을 고려할 수 있음 → 장점 : 내부 클래스에서 외부 클래스의 멤버 변수에 접근하기 쉬움 (코드의 복잡성을 줄임) // 외부 클래스의 인스턴스화 외부클래스 참조변수 = new 외부클래스(); // 내부 클래스의 인스턴스화 (내부 클래스에 private 선언 시 사용 불가) 외부클래스.내부클래스 참조변수 = 외부클래스.new 내부클래스(); # 인스턴스 내부 클래스 - 내부적으로 사용한 클래스 (private 권장) - 정적 내부 클래스와의 차이점 : 외부 클래.. 2023. 2. 16.
[Java] Object 클래스 java.lang 패키지 - import 예약어를 사용해서 가져오지 않아도 자동으로 import되는 패키지 ex) String, System, Object, Exception, ... Object 클래스 - 모든 클래스의 최상위 클래스 → 모든 클래스는 Object 클래스에서 상속받음 (extends 키워드 생략) → Object 클래스의 메서드 중 일부를 재정의해서 사용할 수 있음 # toString() 메서드 - (기본) 객체의 정보를 String 타입으로 바꿔 사용할 때 쓰임 # equals() 메서드 - (기본) 두 객체의 주소 값이 동일하면 true를 반환함 - (재정의) 주소 값이 다르더라도 두 객체가 논리적으로 동일하면 true를 반환함 ex) String 객체에 equals() 메서드를 사.. 2023. 2. 14.
[Java] 추상 클래스 추상 클래스 (Abstract class) - 하나 이상의 추상 메서드를 포함하거나, abstract 키워드를 가진 클래스 - 추상적인 개념 → 화면에 나타낼 수 없는 것들 ex) 게임 - 인스턴스화를 할 수 없음 (new 키워드 사용 불가) → 오류 : 부모클래스 참조변수 = new 부모클래스(); → 업 캐스팅 가능 : 부모클래스 참조변수 = new 자식클래스(); // 추상 클래스 접근제어자 abstract class 클래스명 { ... // 추상 메서드 접근제어자 abstract 반환자료형 메서드명(매개변수); } # 추상 메서드 - 구현 코드 없이 메서드의 선언만 있는 메서드 (중괄호 {}가 없음) - 추상 클래스에 추상 메서드가 없을 수는 있음 → 그러나, 추상 메서드가 있으면 반드시 추상 클.. 2023. 2. 11.
[Java] final 키워드 final의 기능 ① 상속할 수 없는 클래스 선언 [접근제어자] final class 클래스명 { 코드; } ex) String final의 기능 ② 재정의할 수 없는 메서드 선언 [접근제어자] final 반환자료형 메서드명() { 코드; } - 자식 클래스에서 오버라이드(재정의)할 수 없음 final의 기능 ③ 상수 선언 final 자료형 상수명 = 값; - 값이 변경될 수 없는 상수 선언 - 상수 관련 설명 : https://young0105.tistory.com/8 2023. 2. 11.
[Java] 상속 관계의 다형성과 참조형 형 변환 # 관련 포스팅 - 상속 : https://young0105.tistory.com/42 다형성 (Polymorphism) - 하나의 코드 형태가 다양한 자료형으로 구현되어 실행될 수 있음 (자료형을 다양한 형태로 바라볼 수 있음) → 같은 코드에서 여러 실행 결과가 나타남 - 하나의 타입에 여러 객체를 대입할 수 있게 하여, 다양한 형태로 동작하게 함 → 부모 타입으로 자식 객체를 참조할 수 있게 함 or 같은 인터페이스를 구현하는 여러 객체를 같은 타입으로 참조할 수 있게 함 - 객체지향 프로그래밍의 큰 특징 중 하나 - [장점] i. 유연성 ii. 확장성 : 새로운 하위 클래스를 추가하더라도, 기존의 코드를 변경하지 않고 사용할 수 있음 iii. 재사용성 및 유지보수성 : 한 가지 타입의 변수/메서드.. 2023. 2. 9.
728x90
반응형