Metode Privat dalam OOP di JavaScript

Tidak hanya properti yang bisa menjadi privat, metode juga bisa. Biasanya metode yang dibuat privat adalah metode pembantu, agar tidak sengaja bisa dipanggil dari luar kelas.

Mari kita lihat contohnya. Misalkan kita memiliki kelas berikut:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

Mari kita buat metode privat dalam kelas ini, yang akan menerima string sebagai parameter dan mengubah karakter pertamanya menjadi kapital:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
  
  #cape(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Mari kita gunakan metode pembantu kita di dalam metode lain:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#cape(this.#name);
  }
  
  #cape(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Mari kita uji. Buatlah objek dari kelas kita:

javascriptlet user = new User('john');

Panggil metode publik, yang menggunakan metode pembantu:

javascriptconsole.log(user.show());
Задание 1

Dalam kode berikut, buatlah metode pembantu menjadi privat:

javascriptclass Employee {
  constructor(name, salary) {
    this.name = name;
    this.salary = salary;
  }
  
  getSalary() {
    return this.addSign(this.salary);
  }
  
  addSign(num) {
    return num + ' dollar';
  }
}