-> 블로그 이전

[Java] 객체 지향 언어의 특성

2021. 11. 18. 17:11Language`/Java

1. 캡슐화 (Encapsulation)

- 객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게 하는 것 (가장 본질적 특성)

- 외부의 접근으로부터 안전

클래스 (Class)

- 클래스(class) : 객체 모양을 선언한 틀 (캡슐화)

  • 필드 (멤버 변수)
  • 메소드 (멤버 함수)
  • 클래스 (필드, 메소드)로 구성

객체 (Object)

- 클래스의 모양대로 생성된 실체

- 객체 내 데이터에 대한 보호, 외부 접근 제한 

 

 

 

2. 상속 (Inheritance)

- 자식 클래스가 부모 클래스의 속성을 물려받고 기능을 추가하여 확장(extends) 

- 자식 클래스 = 서브 클래스(Sub Class) / 부모 클래스 = 슈퍼 클래스(Super Class) 

- 서브 클래스 객체 = 슈퍼 클래스 멤버 + 서브 클래스 멤버 

 

 

3. 다형성 (Polymorphism)

- 같은 이름의 메소드클래스/객체에 따라 다르게 동작하도록 구현

메소드 오버라이딩(Overriding)

  • 슈퍼 클래스의 메소드를 각각의 서브 클래스마다 다시 구현

메소드 오버로딩(Overloading)

  • 클래스 내에서 이름이 같지만 서로 다르게 동작하는 메소드를 여러 개 생성