php

[php OOP] 3주차(1회차) / php OOP란?, 클래스/객체

namgi 2022. 9. 18. 16:27
반응형

벌써 php 배운 지 3주가 지났다.

이번 회차에선 OOP에 대해 알아봤고 클래스와 객체에 대해 배웠다.


php OOP

OOP란? - Object-Oriented Programming 약자로, 객체 지향 프로그래밍이란 뜻이다.

무슨 말이냐면, 

일반 프로그래밍(절차적 프로그래밍)은 데이터에 대한 절차나 함수를 작성하지만,

OOP(객체 지향 프로그래밍)는 데이터와 함수를 포함하는 객체를 만드는 것이다.

 

OOP의 장점은 이렇다.

  • 더 빠르고 쉽게 실행
  • 프로그램에 대한 명확한 구조를 제공
  • 코드 유지 관리, 수정 및 디버그가 쉬워짐
  • 더 적은 코드, 더 짧은 개발 시간

클래스/객체(class, object)

<?php
class Friend{
  //코드입력
}
?>

'class'는 위와 같이 사용할 수 있다.

위 코드에선 'Friend'라는 클래스가 있을 것이다.

'Friend'의 클래스는 '이름, 나이, 성별'과 같은 속성을 가진다.

class는 중괄호'{ }' 를 사용한다.

 

먼저 코드부터 봐보자.

<?php
class Friend {
  //'$name', '$age' 속성 설정
  public $name;
  public $age;

  //'set_name'이란 함수를 정의하고,
  function set_name($name) {
	
	  
    //'$name' 속성의 값을 변경함
    $this->name = $name;
  }
	
  //'get_name'이란 함수 정의
  function get_name() {
    return $this->name;
  }
	
  function set_age($age) {
    $this->age = $age;
  }
  function get_age() {
    return $this->age;
  }
}

//변수 '$jimin'의 값 정의
$jimin = new Friend();
	
//이름을 'Jimin'으로 지정함
$jimin->set_name('Jimin');
	
//나이를 '21'로 지정함
$jimin->set_age('21');
	
//이름과 나이 출력
echo "이름: " . $jimin->get_name();
echo "<br>";
echo "나이: " . $jimin->get_age();
?>

여기서 변수 '$this''$name'속성 값을 변경하는 데 사용된다.

변수 '$this'는 정의된 함수 내에서만 사용할 수 있다.

 

위 코드 실행결과는 다음과 같다.


이번 글로 벌써 3주차가 되었다.

OOP와 Class, Object에 대해 알아보았다.

다음 회차에서도 OOP의 내용에 대해 알아볼 것이다.

반응형