본문 바로가기

프로그래밍/php

5주차 - 클래스와 객체

5주차 주요 개념들

-린스타트업 이론 기초

-객체지향개발에서 중요한 클래스와 객체에 대한 개념과 기술을 얻게 됨. 상속, 트레이드, 접근제한자에 대한 개념 이해

-데이터 전달의 과정 (post, get 방식에 대해서)

 

 

Q. 클래스와 객체는 무엇인가?

▷ 클래스는 객체에 대한 설계도이다. 객체는 런타임 위에서 작동되는 기능 + 저장능력을 모두 갖고 있는 요소라고 보면 된다. 

클래스는 객체를 생성하고 변수에 넣어줘야 작동할 수 있다. 그래서 클래스명 앞에 new 키워드를 붙여주고 좌측에는 변수를 배치한다.

 

▷ 클래스를 구성하는 것은 메서드와 속성이다. 메서드는 기능을 위한 것이고 속성은 변수와 같은 것이다. 메서드는 함수와 비슷한 개념으로 이해하면되고, 속성은 변수랑 같은 개념으로 이해하면 된다. 클래스의 메서드와 속성은 변수에 종속된 것들이다. 

 

*런타임 환경 : 런타임 환경은 컴퓨터가 실행되는 동안 프로세스나 프로그램을 위한 소프트웨어 서비스를 제공하는 가상 머신의 상태이다. 운영 체제 자체에 속하는 경우도 있고, 운영 체제에서 작동하는 소프트웨어를 뜻할 수도 있다. (위키백과)

 

 

 

 

PHP 객체지향코드의 독특한 점

▷ 변수에 숫자나 문자 같은 일반적인 데이터를 저장하면 일반 변수가 된다.

▷ new 키워드를 통해 생성된 클래스의 객체가 변수에 저장되면 객체 변수가 된다. (Object Instance)

▷ PHP는 변수 앞에 데이터 타입을 선언하지 않는 untyped programming이다. 따라서 = 이후에 어떤 데이터가 오는지 잘 봐야 한다.

▷객체의 속성, 메서드를 사용할 때는 보통 도트(.) 뒤에 기재하는데, PHP는 화살표 -> 뒤에 기재한다는 것이 특징이다. 

 

 

다음은 실제 코드로 클래스에서 객체를 생성하는 방법을 알아보자.

$newuser = new User();

위의 코드를 해석하면 다음과 같다.

new 키워드로 User 클래스의 객체를 생성하고 -> 생성된 객체는 $newuser 변수에 저장된다. 위의 과정을 통해 User 클래스의 객체가 담긴 newuser 객체를 사용할 수 있게 된다. 

 

 

 

다음은 데이터베이스 접속 객체를 만드는 코드이다.

<?php
$pdo = new PDO('mysql:host=localhost;dbnane=sampledb;charset=utf8','sample','password');
Print "PDO 클래스를 통해 접속이 성공하였습니다.";
$pdo = null;
?>

 

▷ PDO 는 데이터베이스에 접속 시켜주는 객체

▷ new 키워드를 이용해서 객체를 생성해서 pdo라는 변수에 저장한 것

▷ 두번째 pdo 변수를 선언하고 null 값을 저장함으로써 접속객체를 삭제함. 이러면 데이터베이스 접속정보가 삭제되어 접속이 끊어지게 되고, DB 작업이 종료됨.

 

 

객체의 메서드, 속성 사용법

<?php
$newuser = new User();
$newuser -> print_hello();

위의 코드처럼 클래스의 메서드를 이용할 때 ->를 이용한다.

클래스 선언은 아래에 있던 위에 있던 상관이 없다.

 

 

이제 클래스를 선언하는 방법을 알아보자

Class User{
    public $name = 'sunjin' //$name 속성의 초깃값으로 sunjin 설정
    public function print_hello(){
    	print $this->name;
        print"님 안녕하세요! <BR>";
    }
}

메서드를 선언할 때는 메서드 이름 앞에 function을 붙여주어야 한다. 

위의 코드에서 눈여겨 봐야할 부분 중 하나가 메서드 생성 코드 중에 $this라는 건데 여기서 this는 객체 자기자신을 의미한다.

 

 

 

<HTML> 
	<HEAD> 
    	<title> class test </title>
        <meta http-equiv="Content-Type" content = "text/html; charset=utf-8">
    </HEAD><BODY bgcolo

 

 

 

 

 

 

 

 

\

 

 

 

 

 

 

 

 

 

 

 

<HTML>
	<HEAD>
    	<TITLE> 텍스트 송신 테스트 </TITLE>
        <META http-equiv="Content-Type" content="text/html; charset = utf-8">
    </HEAD>
    <BODY bgcolor="#FFFFFF" text="#000000"><FONT size="4">텍스트 송신 테스트</FONT>
    	<FORM name="form1" method="post" action="view.php">
        	나의 취미:<BR>
            <input type="checkbox" name="hobby[]" value="스포츠">스포츠<BR>
            <input type="checkbox" name="hobby[]" value="영화감상">영화감상<BR>
            <input type="checkbox" name="hobby[]" value="독서">독서<BR>
            <input type="submit" value="송신">
        </FORM>
    </BODY>
</HTML>

 

 

 

결과물은 

http://sj082400.ohseon.com/week5/form.html

여기에서 확인할 수 있다.

 

텍스트 송신 테스트

 

sj082400.ohseon.com

 

 

 

 

'프로그래밍 > php' 카테고리의 다른 글

MAC 으로 XAMPP / MySQL  (0) 2022.10.19
php 기본문법 - 4주차 (2)  (0) 2022.09.28
PHP 기본문법 - 4주차(1)  (1) 2022.09.28