Java, 객체 지향 관련 질문 모음입니다. 자세한 내용은 추가로 검색을 해보셔서, 본인의 언어로 정리하시길 추천드립니다. 이 글 역시 제 생각과 언어에 맞게 정리하였고, 틀린 부분이 있을 수 있으니 댓글로 지적해 주시면 감사하겠습니다! [ 객체 지향 ] 💡OOP(객체지향 프로그래밍)의 특징 객체 지향의 특징은 크게 4가지가 있습니다. ⬇️객체지향의 4가지 특징 더보기 캡슐화 객체가 역할을 수행하기 위한 정보와 기능을 하나로 묶어서 데이터를 외부로부터 보호하는 것을 말합니다. - 클라이언트에게는 인터페이스만 제공을 해서 필요한 정보만 노출을 하고, 실제 구현 정보는 숨겨서 기능만 사용할 수 있게 합니다. - 필드는 private으로 접근을 막고, 메서드를 public으로 열어서 캡슐화를 사용합니다. 추상..
프로그래밍 패러다임 (programming paradigm) 프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론이다. 객체지향 프로그램이과 함수형 프로그래밍을 예로 들어보자. 객체지향 프로그래밍 : 상호작용하는 객체들의 집합 함수형 프로그래밍 : 상태 값을 지니지 않는 함숫값들의 연속 Java의 프로그래밍 패러다임 jdk 1.8 이전의 자바는 객체지향 프로그래밍을 지원했었지만, 이후로는 함수형 프로그래밍 패러다임을 지원하기 위해 람다식, 생성자 레퍼런스, 메서드 레퍼런스를 도입했다. 추가로 선언형 프로그래밍을 위해 스트림(stream) 표준 API도 추가했다. 선언형 프로그래밍과 함수형 프로그래밍 선언형 프로그래밍(declarative programming)은 '..
객체지향의 4대 특성 : 캡슐화, 상속, 다형성, 추상화1. 캡슐화 ( Encapsulation )객체의 속성(Variable)을 보호하기 위해 사용한다.객체와 객체간의 의사소통을 위해 필요한 정보만을 노출한다.실제 내부 구현 정보는 숨긴다.Method 설계자신이 가지고있는 속성에 대해서는 해당 상태를 변경하는 기능을 제공해야 한다.실물 객체가 가진 기능을 모두 제공해야 한다.각각의 Method는 서로 관련성이 있어야 한다. ( getter - setter ) (add - delete ) 등Getter / Setter : 외부에서 내부 속성에 직접 접근하지 못하도록 사용CRUD Method : 데이터 처리를 위한 기본적인 CRUD Method 제공Business Logic Method : 비즈니스 로..