본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP Member 클래스 — getter/setter로 회원 정보 관리 완전 정리

by 왕진 2026. 6. 18.
반응형

 

 

Web Development · PHP Member class

Member 클래스 —
private + getter/setter의 표준 형태

DTO·엔터티 객체의 가장 흔한 패턴
시작 오늘 분석할 코드
class Member { private $id; private $lastname; private $firstname; private $email; private $password; public function setID($id) { $this->id = $id; } public function getID() { return $this->id; } public function setLastname($x) { $this->lastname = $x; } public function getLastname() { return $this->lastname; } // ... firstname, email, password도 같은 패턴 } $member = new Member; $member->setID("1"); $member->setLastname('당신의 성'); print $member->getID(); print $member->getLastname();

5개 멤버변수, 각각 setter와 getter — 총 10개 메서드. 회원 정보를 담아 다루는 가장 단순한 객체 구조.

용어 용어 정리
DTOData Transfer Object — 데이터를 옮기는 객체
엔터티DB의 한 행에 대응하는 객체
setter멤버에 값을 저장하는 메서드
getter멤버 값을 가져오는 메서드
camelCasesetLastname처럼 단어 첫 글자 대문자
캡슐화private + 메서드로 접근 통제
return $this메서드 체이닝용 (선택)
실무 표준대부분의 프레임워크가 이 패턴

1 왜 모두 private + getter/setter?
· 입력 검증을 setter에 끼워 넣을 수 있다 (이메일 형식, 비밀번호 길이 등)
· 내부 구조 변경해도 외부 코드 수정 없이 가능
· IDE 자동완성·문서화 도구가 명시적 인터페이스로 인식
· 자동 생성 도구가 많아 작성 부담↓

2 camelCase 명명 관례
setId, setPassword, setLastname // 첫 글자 소문자, 다음 단어부터 대문자 getEmail, getFirstname // 클래스 이름은 PascalCase class Member, class UserAccount

3 메서드 체이닝 (return $this)
public function setID($id) { $this->id = $id; return $this; // 자기 자신 반환 } // 사용 — 체이닝 $member ->setID(1) ->setLastname("홍") ->setFirstname("길동") ->setEmail("...");

Fluent API로도 부르는 패턴. 한 줄에 여러 setter 호출 가능.


 

반응형

 

4 현대 PHP — Constructor Property Promotion
// PHP 8.0+ 짧게 class Member { public function __construct( private string $id, private string $lastname, private string $firstname, private string $email, private string $password, ) {} public function getID(): string { return $this->id; } // ... } $m = new Member("1", "홍", "길동", "...", "...");

핵심 한 줄 요약

private 멤버외부 직접 접근 차단
setter값 저장 (검증 가능)
getter값 반환
camelCasesetX/getX 명명 관례
DTO/엔터티DB의 한 행 = 한 객체
메서드 체이닝return $this 활용
PHP 8.0Constructor Property Promotion으로 짧게
반응형

댓글