본문 바로가기

Java/개념정리

oop의 3대 컨셉(캡슐화,상속,다형성)

 

캡슐화(은닉화) : data-private, method-public 방법

class Date{
	int year=1970;
}
Date d = new Date();
d.year=0;
syso(d.year);

논리적으로 문제없으나 변수에 직접 접근하므로 의미상 문제가 있음

class Date{
	private int year=1970;
}


public void setYear(int year){
	if(year>0{
		this.year=year;
		}
	}

 

변수에 private를 하고 get, set(제약을 줘서 유효성체크를)을 해야함

 

접근제어자

public : 패키지 클래스 접근제한 없이 사용가능

protected: 상속받은 클래스는 접근 가능

(default): 같은 패키지 내부에만 사용가능

private: 같은 클래스 내부에만 사용가능

 

 

다형성 

1. 다형적 변수

Hello h = new Hello();
Object o = h;

자손 객체인 h의 기능을 제한해 Object 객체 생성(쉐도우 이펙트)

2. overriding 규칙

가장 자손 객체의 메서드를 제일 먼저 참조한다

3. overloading 규칙

참조 변수를 활용해 참조하도록 설정한다. > 편의성을 높인다 > 사용성 증가

이름이 같은 print 메서드를 여러개 선언가능하다. 그러면 매개변수를 Circle, Shape 타입으로 변경하면서 사용할 수 있다.

 

상속

상속은 다형성의 개념을 활용해서 사용한다. (사용하지 않으면 사용하지 않은것 보다 좋지 않다.)

그림의 눈사람은 상속 계층도를 의미한다.

 

넓이는 구하는 클래스 설계

 

'Java > 개념정리' 카테고리의 다른 글

자바 웹의 동작 구조2(이미지)  (0) 2020.08.03
자바 웹의 동작 구조(이미지)  (0) 2020.07.31
computing paradigm & JAVA 동작 원리  (0) 2020.07.23
리눅스 서버관련 자료  (2) 2020.07.16
리눅스 명령어 모음_(2)  (2) 2020.07.15