연관된 여러 값을 하나로 묶고 싶을 때 객체를 활용했던 것처럼
연관성 있는 여러 함수들을 하나로 묶을 수 있다
이때도 객체를 활용하면 된다
객체의 프로퍼티에는 어떤 자료형이던 저장할 수 있기 떄문에
프로퍼티 값으로 함수를 넣어줄 수 있다 요렇게
이러한 함수를 객체의 메소드 라고 부른당
프로퍼티 값으로 함수가 들어왔덩 함수 이름 없이 소괄호와 중괄호로 정의함 함수 이름은
프로퍼티 네임(sayHello,sayHi,sayBye)이 대신해준당
이렇게하면 greetings 라는 객체에 세가지 함수가 정의 된 것이다
이렇게 사용하면된다 (점표기법이나 대괄호표기법으루)
룰루
그리고 파라미터가 필요한 경우라면
이렇게 소괄호 안에 파라미터를 작성해주면 된다 이걸 대괄호 표기법으로 한다면?
근데 함수를 사용하면 되는데 왜 굳이 메소드를 만들어 사용할까?
간단하게 이야기하면 메소드는 어떤 객체의 고유한 동작으로써 함수의 의미를 부여할 수 있기 때문이다
여기에 사각형과 삼각형 객체가 있당
모두 너비와 높이를 가지고 있는데 사각형과 삼각형은 서로 넓이를 구하는 방법이 다르다 똑같은 넓이를 구하는
getArea 함수지만 어떤 객체의 메소드인지에 따라서 그 객체의 맞는 동작을 할 때 메소드를 사용하는 것이다
만약 일반적인 함수로 정의했다면 함수의 이름이 중복되지 않도록 신경써서 함수를 정의해야 했을 것이다
하나의 함수를 만든다고 하더라도 상황에 따라 다르게끔 함수 내부를 복잡하게 설계해야 했을 것이당
따라서 좀더 객체에 집중해서 함수의 동작 부분을 작성할 수 있당 사용할 때도 이객체의 고유한 동작으로 구분할 수 있기 떄문에 좀더 의미있는 코드로 활용할 수 있는 장점도 있다고 한다
실습
'javascript' 카테고리의 다른 글
Date객체 (0) | 2023.04.20 |
---|---|
for...in 반복문 (0) | 2023.04.19 |
객체2 (0) | 2023.04.06 |
객체 (0) | 2023.03.08 |
피보나치 수열 (0) | 2023.03.08 |