728x90
반응형

상속 4

[객체지향프로그래밍][Java] 상속 3 (추상 메소드, 추상 클래스, 인터페이스)

추상 메소드 선언되어 있으나 구현되어 있지 않은 메소드 public abstract String getName(); public abstract void setName(String s); 추상 메소드는 서브 클래스에서 오버라이딩하여 구현해야 함 추상 클래스 추상 메소드를 하나라도 가진 클래스 → 클래스 앞에 반드시 abstract라고 선언해야 함 추상 메소드가 하나도 없지만 abstract로 선언된 클래스 추상 클래스는 객체 생성 불가 추상 클래스의 상속 1. 추상 클래스의 단독 상속 추상 클래스를 상속받아 메소드를 구현하지 않으면 추상 클래스 됨 서브 클래스도 abstract로 선언해야 함 abstract class Shape { // 추상 클래스 public Shape() { } public void..

[객체지향프로그래밍][Java] 상속 2 (오버라이딩)

메소드 오버라이딩(Method Overriding) 슈퍼 클래스의 메소드를 서브 클래스에서 재정의 슈퍼 클래스 메소드의 이름, 매개변수 타입 및 개수, 리턴 타입 등 모든 것 동일하게 작성 메소드 무시하기, 덮어쓰기 동적 바인딩 발생 - 서브 클래스에 오버라이딩 된 메소드가 무조건 실행되는 동적 바인딩 메소드 오버라이딩 사례 class Shape { public void draw() { System.out.println("Shape"); } } class Line extends Shape { public void draw() { //오버라이딩 System.out.println("Line"); } } class Rect extends Shape { public void draw() { //오버라이딩 Sys..

[객체지향프로그래밍][Java] 상속 1 (객체 생성, 접근 지정자, 업캐스팅, 다운캐스팅, instanceof 연산자)

객체지향의 상속 부모클래스에 만들어진 필드, 메소드를 자식클래스가 물려받음 부모의 생물학적 특성을 물려받는 유전과 유사 상속을 통해 간결한 자식 클래스 작성 동일한 특성을 재정의할 필요가 없어 자식클래스가 간결해짐 장점 클래스의 간결화 - 멤버의 중복 작성 불필요 클래스 관리 용이 - 클래스들의 계층적 분류 소프트웨어의 생산성 향상 - 클래스 재사용과 확장 용이 - 새로운 클래스의 작성 속도 빠름 자바의 상속과 객체 상속 선언 - extends 키워드 사용 -> 슈퍼 클래스를 확장한다는 개념 부모 클래스 자식 클래스 슈퍼 클래스 서브 클래스 클래스 상속 만들기 - Point와 ColorPoint 클래스 class Point { private int x, y; //한 점을 구성하는 x, y 좌표 publi..

[객체지향프로그래밍] 이론

객체의 특징 특징 예시 크기 작은 물체, 큰 물체 형태 원, 사각형, 삼각형 등 색상 빨강, 파랑 노랑 등 무게 가벼운 물체, 무거운 물체 재질 나무, 금속, 플라스틱, 유리 등 기능 한 가지 기능, 여러 가지 기능 용도 가구, 전자제품, 운송 수단 등 위치 바닥에 놓인 물체, 책상 위에 놓인 물체, 벽에 걸린 물체 등 관계 서로 붙어 있는 물체, 쌓여 있는 물체, 연결된 물체 등 변화 녹아 없어지는 물체, 커지는 물체, 움직이는 물체 등 객체 지향의 핵심 개념 캡슐화 데이터와 데이터를 처리하는 메소드를 하나의 논리적인 단위로 묶는 것 데이터의 접근을 제한, 메소드를 통해 안전하게 데이터를 처리 자동차 클래스에서 앤진, 바퀴, 핸들 등의 상태 주행, 정지, 좌/우 회전 등의 행동 캡슐화하여 외부에서 직접..

728x90
반응형