1. 캡슐화

  • 비슷한 역할을 하는 변수와 메서드를 하나의 클래스로 모은 것
  • 캡슐화에 속한 개념으로 정보 은닉이라는 것이 있는데 내부 구조는 private로 감추고, 외부에서 조작할 수 있는 명령어만 public으로 공개

2. 상속

  • 클래스를 재사용하는 것
  • 부모 클래스를 자식 클래스에서 상속 받게 되면 부모 클래스의 멤버변수나 메소드를 그대로 물려 받는 것
  • 코드를 재활용할 수 있기 때문에 생산성이 높고 유지보수하기 좋다.

3. 추상화

  • 현실 세계에 존재하는 다양한 객체들의 공통된 특성을 모아 일반화해 놓은 것
  • "자동차", "배", "비행기" -> 운송수단

4. 다형성

  • 하나의 인터페이스를 이용하여 서로 다른 구현을 제공
  • 메서드 오버로딩(Overloading), 메서드 오버라이딩(Overriding)을 통해 지원
  • 메서드 오버로딩(Overloading) : 한 클래스 안에 같은 이름의 메서드를 여러 개 정의하면서, 매개 변수의 개수나 타입이 다른 형태
int add(int a, int b) {
	return a + b;
}

long add(long a, long b) {
	return a + b;
}
  • 메서드 오버라이딩(Overriding) : 상속 관계에 있는 하위 클래스가 상위 클래스가 가지고 있는 메서드를 재정의하는 것

 

+ Recent posts