프로그래밍된 두 우주!OOP과 FP!

여보게, DEV.to 커뮤니티!
프로그래밍 분야에 진출한 많은 사람들이 정말 두 단어를 자주 듣는다!OOP과 FP!어떤 대상을 대상으로 프로그래밍을 하는지 그들의 머릿속에 장점이 있다. 왜냐하면 그것은 듣기 쉽기 때문이다.
여기서 나는 이 두 가지 일이 무엇인지, 너는 어느 것을 배워야 하는지 설명할 것이다.

OOP 아니면 FP?어느 것을 사야 합니까?

프로그래밍 모드


모든 프로그래밍 언어는 유일무이하다.표면적으로는 똑같아 보일 수도 있지만 깊이 연구하면 다른 사람들이 얻지 못할 매력적인 특징을 발견할 수 있다.
서로 다른 특성은 프로그래밍 언어의 유일한 차이가 아니라 프로그래밍 언어 실행 코드가 따르는 과정과 처리 방식을 범례라고 부른다.범례는 프로그래밍 언어의 구조와 실행 방식을 정의했다.
지금까지 몇 가지 범례를 설계했지만 그 중 두 가지가 가장 유행하는 것은 대상 프로그래밍(OOP)과 함수식 프로그래밍(FP)이다.

대상 프로그래밍


웹 사이트나 데스크톱 프로그램을 설계하고 있다면, C++, 자바, 자바스크립트, 루비, PHP 등 대상을 대상으로 하는 언어를 사용하고 있을 가능성이 높다.이러한 프로그래밍 언어는 OOP 클래스에 나타나는 공통된 개념을 가지고 있다.
간단하게 말하자면, 대상을 대상으로 프로그래밍을 하려면 class라는 문법을 사용하여 모든 내용을 실체로 정의해야 합니다.
예를 들어, Java에서 개를 정의하는 방법은 다음과 같습니다.
class Dog {

}
각 클래스에는 속성 (상태) 과 메서드가 있으므로 엔티티 정의가 완료됩니다.
class Dog {
    public String name;
    public String breed;

    public void bark() {
        System.out.println("Woof Woof!");
    }
}
위의 코드는 PHP로 다시 쓸 수 있습니다.
class Dog {
    public $name;
    public $breed;

    function bark() {
        print("Woof Woof!");
    }
}
또는 JavaScript에서:
class Dog {
    name
    breed

    bark() {
        console.log("Woof Woof!")
    }
}
대부분의 OOP 언어에서는 변수가 변경되므로 나중에 값을 변경할 수 있습니다.
let x = 5
console.log(x) // 5
x = 8
console.log(x) // 8
보시다시피 OOP 언어의 클래스이기 때문에 매우 비슷합니다.실체는 실례화하여 대상을 형성할 수 있는데 이것이 바로 대상을 대상으로 프로그래밍하는 의미이다.
OOP 범례는 다음과 같은 개념을 정의합니다.

  • 추상적: 프로그램의 복잡성을 낮춘다.

  • 클래스: 엔티티의 구조를 정의합니다.

  • 봉인: 새로운 데이터를 만들기 위해 데이터를 조합합니다.

  • 정보 숨김: 복잡성을 줄이기 위해 불필요한 데이터를 숨깁니다.

  • 상속: 클래스 간의 관계를 정의합니다.

  • 인터페이스: 하드웨어 입력과 출력 등 프로그램을 사용합니다.

  • 대상: 클래스에서 파생된 실체.

  • 다태성: 여러 가지 임무를 수행하고 다양한 방식으로 나타나는 능력.
  • 비록 이 단어들은 보기에는 매우 이상하지만, 믿거나 말거나, 그것은 단지 간단한 사물을 정의하는 귀에 거슬리는 어휘일 뿐이다.일단 프로그래밍을 시작하면, 이 단어들이 얼마나 간단한지, 그 뜻이 무엇인지 깨닫게 될 것이다.

    함수식 프로그래밍


    대부분의 경우, 함수식 프로그래밍은 대상을 대상으로 하는 프로그래밍과 다르다.두 가지 범례는 모두 함수와 변수가 있지만, 그것들을 대하는 방식은 다르다.따라서 비슷한 점이 차이를 방해하지 말아야 한다.Elixir, Erlang, Elm, Haskell, F# 등 많은 FP 언어가 있다.
    흥미로운 것은 일부 대상 언어(예를 들어 JavaScript, Python, PHP)가 상대적으로 FP 개념을 지원한다는 것이다. 이것은 당신이 그 중에서 FP 과정을 실현할 수 있다는 것을 의미한다.
    함수식 프로그래밍 언어는 순전히 함수에서 실행되며, 일반적으로 클래스와 대상이 없다.함수식 프로그래밍 언어는 수학 방법을 사용하는 경향이 있기 때문에 변수는 변하지 않는다.수학에서 변수를 정의하고 그 값을 변경할 수 없는 것과 같다.
    만약 당신이 불변성이 제한이고 이런 프로그래밍 언어를 사용할 수 없다고 생각한다면, 당신은 틀렸습니다!이런 프로그래밍 방식은 당신이 수학 방식을 안정시키는 데 도움을 줄 수 있다. 이것이 바로 당신이 미적분과 관련된 것을 구축하고 있다면 함수식 프로그래밍 언어가 가장 좋은 이유이다.이것은 당신이 FP를 다른 어떤 일에도 사용할 수 없다는 것을 의미하는 것이 아니라 건의이다.
    우리가 개념을 정의한 OOP와 같이 다음은 FP가 포함하는 개념이다.

  • 불변성: 변수의 값을 변경할 수 없습니다.

  • 순기능: 기능은 부작용이 없습니다.

  • 귀속: 귀속은 자신을 호출하는 함수입니다.
  • 만약 당신이 이것들이 어떻게 작동하는지 알고 싶다면, 제 아래의 게시물을 보십시오. 불로장생약에 관해서:


    OOP 또는 FP는 언제 사용합니까?


    유사 이래 가장 어려운 문제는 어떤 프로그래밍 언어를 사용하는가, 더 어려운 것은 어떤 모델을 사용하는가!
    OOP와 FP는 상황과 문제 해결 방식에 따라 장단점이 있다.OOP는 현재 가장 자주 사용되는 범례입니다.
    단, 만약 당신이 하나를 선택하고 싶다면, 웹 사이트나 데스크톱 응용 프로그램을 설계하기 위해 프로그래밍 언어를 찾고 있다면, 대상을 대상으로 프로그래밍을 사용하라는 조언이 있습니다.병발성과 더 수학적인 프로그래밍 방식을 찾고 있다면 (특히 데이터 과학자라면) FP를 선택하십시오.다시 한 번, 내가 언급하고자 하는 것은, 이것들은 내가 OOP와 FP에 가장 적합한 곳에 대한 생각이다. 이것은 네가 무엇을 하느냐에 달려 있다.
    나는 네가 좋아하길 바란다!

    좋은 웹페이지 즐겨찾기