본문 바로가기

Java18

객체지향의 기본 개념 정리2 2. 객체지향언어ⅱ A. 상속 형식: 자손클래스 extends 조상클래스{ ... } | class children extends class parents { ... } 기존 클래스로 새로운 클래스를 작성하는 것(코드의 재사용) 두 클래스를 부모와 자식으로 관계를 맺어준다. 자손은 조상의 모든 멤버를 상속 받는다(단, 생성자와 초기화 블럭은 제외) 자손의 멤버수는 조상의 멤버수보다 작을 수 없다(같거나 많아야 한다) a. 단일 상속 Java는 단일상속(하나의 조상=부모만 상속한다) 비중이 높은 클래스만 상속하고 나머지는 포함관계로 한다. B. 포함관계 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것. 작은단위의 클래스를 만들고 이들을 조합하여 클래스를 만든다. - 클래스간 관계 결정하기. ① .. 2021. 7. 19.
객체지향의 기본 개념 정리1 1. 객체지향언어ⅰ 특징 코드의 재사용성이 높다. 유지보수가 용이하다. 중복코드 제거에 용이하다. 핵심개념 다형성 상속 추상화 캡슐화 A. 클래스와 객체 클래스 클래스 : 클래스는 객체를 정의해 놓은 설계도의 개념으로 객체를 생성하기 위해서 존재한다. 형태 : 데이터 + 함수의 형태로 이루어져 있으며 서로 관련된 여러 데이터를 하나로 저장할 수 있는 공간. 사용자 정의 타입 : 사용자가 원하는 타입을 직접 만들 수 있다. 객체 객체 : 객체란 인스턴스 변수(iv)의 묶음으로, 실제로 존재하는 것. 용도는 기능과 속성에 따라 다르다. 클래스에서 객체를 생성할 때를 일컬어 '인스턴스화'라고 말한다. 객체 생성 방법 : 클래스명 참조변수명 = new 클래스명(); | ex) People p = new Peop.. 2021. 7. 14.
캡슐화 보호되어 있는 글 입니다. 2021. 7. 5.
인터페이스(interface) 1. 인터페이스(interface) 인터페이스는 일종의 추상 클래스다. 인터페이스는 추상클래스처럼 추상메소드를 지니고 있지만 추상클래스보다 추상화의 정도가 높아 추상클래스와는 달리 구현부를 갖춘 메소드나 멤버변수를 가질 수 없다. 오직 추상메소드와 상수만을 멤버로 가질 수 있다(JDK1.8에서부터 기본 default 메소드와 static 메소드도 지닐 수 있게 되었다) 이러한 인터페이스를 보면 '미완성'된 형태인 것을 알 수 있는데, 일반 클래스가 '설계도'라면 인터페이스는 '미완성 설계도'라고 할 수 있다. 때문에 인터페이스 자체만으로 사용되는 것이 아니라 다른 클래스를 작성하는데 도움을 줄 목적으로 작성된다. 쉽게 말해 인터페이스는 추상메소드의 모임. 1.1 인터페이스와 추상클래스의 차이 추상클래스:.. 2021. 4. 15.
다형성(polymorphism) 1. 다형성 다형성이란 여러 가지 형태를 가질 수 있는 능력을 의미하며, 좀 더 구제적이지만 간단히 말하면 부모 클래스의 참조변수로 자식 클래스의 인스턴스를 참조하는 것이다. 간단히 예를 들면 서로 다른 두개의 클래스가 있다고 하면 쉽게 알 수 있다. 예제1) public class Tv { boolean power; //전원 상태 int channel; //채널 void power(){ } void channelUp(){ }//채널 up void channelDown(){ }//채널 down } class CaptionTv extends Tv{ String text; //캡션을 보여주기 위한 문자열 void caption() { } } 이때, Tv와 CaptionTv는 서로 상속관계에 있으며, 이 두 .. 2021. 3. 30.
상속(Inheritance) 1.1 상속의 정의와 특징 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 특징 1) 적은 양의 코드로 새로운 클래스를 작성할 수 있다. 2) 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. → 1, 2번의 이유로 코드의 재사용성을 높이고 코드 중복을 제거하여 프로그램의 생산성과 유지보수에 좋다. 3) 생성자와 초기화 블럭은 상속되지 않는다. 4) 자식 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 상속을 구현하는 방법 class Child extends Parents { ... } -Child class : 상속받는 클래스(자식 클래스) -Parents class : 상속해주는 클래스(부모 클래스) 상속을 받는 자식 클래스는 부모의 모든 멤버를 상.. 2021. 3. 24.