Web/JAVA9 abstract class, Interface, generic 1. 추상 클래스 (확장의 개념) - abstract 클래스는 상속 전용의 클래스 - 구현의 강제를 통해 프로그램의 안전성 향상 - 메서드의 선언부만 남기고 구현부는 세미콜론(;)으로 대체 - 구현부가 없다는 의미로 abstract 키워드를 메서드 선언부에 추가 - 객체를 생성할 수 없는 클래스라는 의미로 클래스 선언부에 abstract를 추가 ※ Vehicle v = new DiselSuv(); 와 같이 하위 클래스의 객체 생성은 가능 - 반드시 자식 클래스에서는 추상 메서드를 오버라이딩 해야된다. package com.ssafy.day5.a_abstract; // 추상 클래스 (한개라도 추상 메서드가 있으면 추상클래스가 된다.) public abstract class Vehicle { private .. 2024. 1. 19. 데이터 은닉(Encapsulation), 다형성(Polymorphism), Singleton 1. 데이터 은닉 - 데이터를 보호하기 위해서 사용(마음대로 변경 X) - 변수는 private로 접근 막기 - getter, setter를 사용하여 변수 접근(public method) class UnbelievableUserInfo { // 데이터 은닉 private String name = "홍길동"; private int account = 10000; public void setName(String name) { // 데이터 보호 if (name != null) { this.name = name; } else { System.out.println("잘못된 이름 입니다."); } } public String getName() { return this.name; } public void setAcco.. 2024. 1. 18. 상속(Inheritance), overriding, package, import, 제한자 1. 상속 (is a) - 기존(상위) 클래스의 자산(멤버 변수, 멤버 메서드)을 자식(하위) 클래스에서 재사용하기 위한 것 - extends 키워드를 사용 ("자식 클래스명 extends 부모 클래스명 {}") - Object 클래스는 모든 클래스의 조상 클래스이다. - Object 클래스의 메서드 : hashCode(), equals(), toString() - 자바에서는 단일 상속만을 지원한다. >> 다중 상속을 하기 위해서는 interface와 포함 관계로 단점을 극복 - 포함 관계(has a) : 2개 이상의 클래스에서 특성을 가져올 때 하나는 상속, 나머지는 멤버 변수로 처리 ※ SpriderMan2는 Person이다(is a), SpiderMan2는 Spider를 가진다(has a) publ.. 2024. 1. 17. 클래스, 객체, 메서드, 변수, 생성자 1. 객체지향 프로그래밍이란? - 객체 : 주체가 아닌 것, 주체가 활용하는 것 - 객체지향 프로그래밍 : 주변의 많은 것들을 객체화 해서 프로그래밍 하는 것 2. 객체지향 프로그래밍 장점 - 블록 형태의 모듈화된 프로그래밍(ex. 레고) - 신뢰성 높은 프로그래밍이 가능 - 추가/수정/삭제가 용이 - 재 사용성이 높다. 3. Class와 Object - 현실의 객체가 갖는 속성과 기능은 추상화되어 클래스에 정의된다. - 클래스는 구체화 되어 프로그램의 객체가 된다. - 설계도는 하나의 종류가 되고 설계도를 통해 나온 제품을 객체라고 부르며 주체가 사용 - 객체는 클래스를 데이터 타입으로 메모리에 생성되어 실제로 동장하는 것 4. 객체 생성 public class Person { // 객체의 속성, 데이.. 2024. 1. 16. 이전 1 2 3 다음