OOP(Object Oriented Programming)
: 객체지향 프로그래밍은 컴퓨터 프로그래밍 패러다임 중 하나로 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 여러 개의 객체로 나누고, 그 객체들간의 유기적인 상호작용으로 로직을 구성하는 프로그래밍 방법입니다.
장점
- 코드 재사용에 용이
- 쉬운 유지보수
- 대형 프로젝트에 적합
단점
- 처리속도가 상대적으로 느림
- 객체가 많으면 용량이 커짐
- 설계시 많은 시간과 노력이 필요
⭐️OOP키워드
클래스 : 일종의 설계도로 객체들이 공통적으로 갖는 속성을 모아 추상화를 거쳐 집단에 속하는 속성(Attribute)과 행위(Behavior)를 변수와 메서드로 정의한 것
인스턴스(객체) : 클래스에서 정의한 것을 토대로 실제 메모리 상에 할당된 것
추상화(Abstraction) : 불필요한 정보를 숨기고 중요한 정보만을 표현함으로써 공통의 속성, 기능을 묶어 이름을 붙이는 것. 추상화의 목적은 클래스 구현 세부사항과 동작을 분리하는 것, 객체지향 관점에서 클래스를 정의하는 것
캡슐화(Encapsulation) : 프로그램 코드에서 변수와 함수를 재활용하기에는 어려웠으나 캡슐화를 통해 관련된 기능과 특성을 한 곳에 모으고 분류하기 때문에 재활용이 원활해졌다. 기능과 특성의 모음을 클래스라는 캡슐에 분류해 넣는 것이 캡슐화이다.
상속 : 부모클래스의 속성과 기능을 그대로 이어받아 사용할 수 있게 하고 기능의 일부분을 변경해야할 경우, 상속받은 자식클래스에서 해당 기능만 다시 수정해 사용할 수 있게 하는 것.
다형성 : 하나의 변수명, 함수명 등이 상황에 따라 다른 의미로 해석될 수 있는 것. 즉, 오버라이딩, 오버로딩이 가능하다는 의미이다. (오버라이딩, 오버로딩은 다른 포스트에서 다루겠다.)
'🙆♀️ FE > Java' 카테고리의 다른 글
Call by Value / Call by Reference (0) | 2021.03.17 |
---|