Moglobin's
article thumbnail

Use Classes in Programming for Efficiency - dummies

 

Use Classes in Programming for Efficiency - dummies

Classes can be used to provide shortcuts and helpers throughout programming. For example, you might have a class to define a user. You can then add functions (known as methods) to that user class for common things that users might need to do, like update t

www.dummies.com

 

 

클래스는 프로그래밍에서 지름길과 안내를 제공한다.

 

예를 들어 어떤 유저를 정의하기 위해 클래스를 만들었다고 하자. 그렇다면 해당 클래스에 암호 바꾸기와 같은 간단한 함수를 추가할 수도 있을 것이다. 

 

만약 클래스를 사용하지 않는다면, 프로그램 안에는 무수히 많은 함수들이 넘쳐나 혼란을 주고 서로 충돌하는 상황이 발생할 수가 있다. 

 

이런 시나리오를 생각해보자. 당신은 유저 관리를 위한 프로그램 셋 몇 개를 클래스를 사용하지 않고 작성하였다. 앞서 말한 프로그램들은 changePassword, addPermission, setEmail 등과 같은 함수들을 포함할 것이다. 

이제, 프로그램에 그룹 기능이나 역할을 추가하기 위해 다른 사람의 코드와 합쳐야 하려고 한다. 그들의 프로그램 역시 클래스를 사용하지 않고 작성되었고, 당신의 프로그램에서 사용한 addPermission과 같은 함수를 똑같이 갖고 있다. 

 

만약 이 둘을 합치려고 시도한다면, 이렇게 함수들이 겹치고 충돌하는 것들을 해결하는 것이 끝이 없을 것이다. 겹치는 함수들을 수정하고 고치다보면 어느새 코드 전체를 다시 작성한 당신을 발견할 수 있을 것이다!

 

반면에 만약 해당 함수들을 클래스를 이용해 정의한다면, addPermission과 같은 함수는 유저의 클래스에 묶여있기 때문에 다른 함수들과 절대 충돌하지 않을 것이다. 

 

 

* 객체 지향적 관점에서 유저를 생성할 때, New 키워드를 사용한다는 것을 기억하자. 예를 들어, 만약 당신의 유저 클래스가 User 라고 불린다면, 아래와 같이 표현할 수 있다: 

 

$user = new User;

 

그리고 메소드들을 콜 한다면, 당신은 다음과 같이 이것들을 당신의 고유한 user object의 복사본을 통해 부를 것이다.

 

$user->addPermission();

 

이렇게 각각의 object 들이 다른 이름으로 콜 되기 때문에 충돌이 발생하지 않는다. 

profile

Moglobin's

@슈플로프

Take your time 🍋