반응형 IT/JAVA26 JAVA - 객체 지향 심화 1) 상속 상속기존의 클래스를 재활용하려 새로운 클래스를 작성하는 자바의 문법부모 클래스(슈퍼 클래스 - 나보다 상위에 있는 클래스)안에 있는것들을 자식클래스가 상속받아 사용가능한것 (필드, 메서드)"~클래스로부터 상속받았다"라는 표현보다는 "~클래스로부터 확장되었다"는 표현이 그 역할과 기능을 생각했을 때 더 적절한 표현임 두 클래스 간 상속 관계를 설정할 때 사용하는 extends 키워드 자체가 "확장하다"라는 의미를 가짐 보통 겹치는 것들을 부모에게 받아와서 사용하는 것! ★자바의 객체지향 프로그래밍에서는 단일 상속(single inheritance)만을 허용한다는 것 ★ 즉 다중 속성을 허용하지 않는다는것 포함관계상속처럼 클래스를 재사용할수 있는 방법으로 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언함.. 2024. 11. 27. JAVA - 객체지향 심화 클래스는 객체로 이루어져 있음객체는 필드와 메서드로 이루어져 있음 / 필드는 속성 메서드는 행위new 뒤에는 생성자만 들어올수 있음!모든 객체에는 생성자가 있고 우리가 안쓴다면 자동으로 기본생성자가 생성이 됨.파라미터가 아무것도 없는 기본 생성자가 옴최소한 한개이상 생성자를 만든다면 기보 생성자는 생성이 되지 않음 메서드 시그니쳐! -> 반환값 메서드명 (파라미터)메서드 오버로딩 -> 똑같은 이름의 메서드가 다양한 기능을 사용할수 있게 만듬==아래중에 둘중에 하나라도 다르다면 오버로딩 불가능== - 메서드 이름이 같아야 함 - 파라미터의 개수가 다르거나 타입이 다르거나(생성자에서도 오버로딩 가능)객체지향 프로그래밍 설계를 지탱하는 핵심적인 4가지 기객체지향 프로그래밍 설계를 지향하는 모든 언어 전반에 공.. 2024. 11. 27. JAVA - 내부 클래스 내부클래스란?클래스 내에 선언된 클래스! 외부 클래스와 내부 클래스가 서로 연관되어 있을때 사용class Outer { // 외부 클래스 class Inner { // 인스턴스 내부 클래스 // 실무 - Outer 에서만 쓰고싶을때 } static class StaticInner { // 정적 내부 클래스 } void run() { class LocalInner { // 지역 내부 클래스 } }} 선언 위치에 따른 이너 클래스의 구분종류선언 위치사용 가능한 변수인스턴스 내부 클래스(instance inner class)외부 클래스의 멤버변수 선언위치에 선언(멤버 내부 클래스)외부 인스턴스 변수, 외부 전역 변수정적 내부 클래스(static inner class)외부 클래스의 멤버.. 2024. 11. 27. JAVA - 생성자(Constructor) 생성자란?말 그대로 객체를 생성하는 역할을 하는 클래스의 구성요소로 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드라 정리할수 있음. new 클래스 안에 기본생성자 만들려면 안에 생성자가 없어야 함클래스 안에 기본생성자 만들려면 안에 생성자가 하나라도 있으면 안됨 class Car { public String model; public String color; public Car(){} // 기본생성자. 생성자가 없는 경우 자동 생성 // 생성자 오버로딩 public Car(String model, String color) { // 매개변수가 있는 생성자 this.model = model; this.color = color; } void p.. 2024. 11. 26. 이전 1 2 3 4 5 6 7 다음 반응형