본문 바로가기

[OOP] JavaScript 객체 지향 프로그래밍 - 10. 메소드 구현

 

들어가며

어느 정도 개발에 대한 감을 익혔다고 생각했습니다. 코드를 순서에 맞게 작성하는 능력들을 아주 조금이지만 쌓아 올릴 수 있었습니다. 하지만 시간이 지나면서 제 코드를 봤을 때 너무 더럽다고 느껴졌습니다. 중복되는 코드가 많았고, 비효율적인 코드들도 많이 볼 수 있었습니다. 코드를 조금 더 재사용성이 높게 작성한다면 더 효율적으로 시스템이 동작할 수 있었을 텐데, 아쉬움이 남았습니다. 이런 고민을 하면서 객체지향 프로그래밍에 대해 배워야겠다고 생각했습니다. 앞으로 객체지향을 배우면서 공부하고 느낀 점들을 정리해나가고자 합니다. 아래 내용은 생활코딩의 OOP 수업을 듣고 정리한 내용입니다.

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

메서드 구현

class를 활용한 객체를 만들 때, 메서드를 어떻게 구현할 수 있을까요? 이에 대해 알아보겠습니다.

 

 

메서드를 구현할 때, class를 활용하지 않고 constructor 함수를 만들 때, prototype을 활용해서 만들었던 것과 비슷하게 class에서도 동일하게 동작하는 것을 볼 수 있습니다. 하지만 다른 방법도 가능합니다. 

 

 

class 안에 sum 메서드를 만들면, sum은 같은 class에 속해있는 모든 객체가 공유하는 함수가 됩니다. 만약 메서드를 다르게 동작하고 싶게 만들고 싶다면 어떻게 해야 할까요? 

 

 

함수를 포함시키면 됩니다. 자바스크립트는 우선 kim이라는 객체가 sum이라는 함수를 갖고 있는지 확인하고 없다면 kim이라는 객체의 person이라는 클래스 안에 sum이라는 메서드가 정의되어있는지 보고 만약 메서드가 있다면 메서드를 실행합니다. 

 

현재 kim은 같은 클래스에 속해있는 다른 객체들과는 다른 메서드를 갖고 있는 상태입니다. 지금까지 객체지향의 아주 간단한 개념들을 살펴봤습니다. 다음 시간엔 상속에 대해 공부해보겠습니다.

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

마치며

객체지향에 대한 기본을 쌓아가고 있습니다. 앞으로 포기하지 않고, 하나씩 지식을 쌓아 가다 보면 언젠가는 기초가 튼튼한 개발자가 될 수 있을 것이라 믿습니다. 제대로 된 방향으로 하나씩 공부하고 싶습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

출처