자바15 객체지향의 기본 개념 정리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) - 참조변수와 인스턴스의 연결 부모 타입의 참조변수와 자식 타입의 참조변수의 차이는 사용할 수 있는 멤버의 개수다. 만약 부모 클래스에 선언된 멤버변수와 동일한 이름의 인스턴스변수가 자식 클래스에도 정의되어 있을 때, 부모 타입의 참조변수로 자식 인스턴스를 참조하는 경우와 자식 타입의 참조변수로 부모 타입의 인스턴스를 참조하는 경우에는 서로 다른 결과를 얻는다. 메소드의 경우 부모 클래스의 메소드를 자식 클래스에서 오버라이딩한 경우에도 참조변수의 타입에 관계없이 항상 실제 인스턴스의 메소드(오버라이딩한 메소드)가 호출되지만, 멤버변수의 경우 참조변수의 타입에 따라 달라진다. static메소드는 static변수처럼 참조변수의 타입에 영향을 받는다. 참조변수의 타입에 영향을 받지 않는 메소드는 인스턴스 메소드뿐이다. 그래서 static메.. 2021. 4. 1. 상속(Inheritance) 1.1 상속의 정의와 특징 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 특징 1) 적은 양의 코드로 새로운 클래스를 작성할 수 있다. 2) 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. → 1, 2번의 이유로 코드의 재사용성을 높이고 코드 중복을 제거하여 프로그램의 생산성과 유지보수에 좋다. 3) 생성자와 초기화 블럭은 상속되지 않는다. 4) 자식 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 상속을 구현하는 방법 class Child extends Parents { ... } -Child class : 상속받는 클래스(자식 클래스) -Parents class : 상속해주는 클래스(부모 클래스) 상속을 받는 자식 클래스는 부모의 모든 멤버를 상.. 2021. 3. 24. 이전 1 2 3 다음