ABOUT ME

-

오늘
-
어제
-
-
  • KOSTA 교육 6일차(객체지향, 생성자)
    Review 2020. 6. 20. 21:14

    18.11.5(월)

     

    배운 내용

     

    1. 객체지향(OOP)
    2. 생성자(constructor)

    1. 객체지향(OOP)

    객체지향은?

    서로간의 상호작용을 하는 현상이며 ‘상태' ‘행동'으로 구분되어진다.

     

    • 객체지향은 ‘확장성'이 있다.
    • 시대의 흐름으로 인하여 객체지향언어의 필요성을 느껴 발전하였다.
    • 서로간의 상호작용하는 객체들로 이루어진 프로그램이다.

    객체지향의 특징

     

    • 객체를 만들기 위해선 class가 필요하다.
    • class는 객체의 모양을 갖추고 있어야 한다.
    • class는 객체를 무제한 생성할 수 있다.
    • new 연산자를 통하여 객체를 생성한다.

    객체지향의 예제를 보며 활용도를 익혀보자

     

    • 먼저 main메소드가 아닌 Oop1a 클래스를 생성한다.
    • 먼저 은행 입출금을 하기 위해 필요한 변수들이 무엇이 있는지 생각해본다. 여기서 변수는 잔고, 고객명, 계좌번호가 필요하겠다.
    • 다음 입금을 해줄 메소드를 생성한다. 리턴을 해주지 않는 입금에는 void를 첨가하고 파라미터에 int amount를 선언한다.
    • 출금은 return할 요소가 필요하여 void를 생략하고 만일 잔액보다 출금액이 크면 return, 그렇지 않으면 잔액에서 amount를 마이너스 하여 return한다.

     

    • 위의 클래스에서 선언, 실행한 것들을 main에서 출력해야한다. 이 때 방법은 “클래스이름 제목 = new 클래스이름();”
    • 클래스를 호출했다면 호출한 obj로 변수의 값을 입력하고 생성한 클래스내의 메소드를 호출하여 deposit(금액), withdraw(금액)을 입력하면 값이 도출된다.

    2. 생성자(Constructor)

    생성자는?

     

    • new 연산자를 호출하였을 때 자동으로 생성하는 것
    • 객체를 초기화 하는데 사용한다.
    • 객체를 생성할 수 있는 가이드라인이 된다.

    생성자의 특징

     

    • 생성자는 return, void를 사용하지 않는다.
    • 생성자는 자신의 class이름과 반드시 동일해야한다.
    • public class이름(){}; 을 사용하여 default 오류를 항상 대비한다.

    다음은 객체지향에서 ‘생성자’를 이용한 방법을 알아보자

    • 먼저 class를 만들어 책 할인 판매에 필요한 변수들을 설정한다. 책이름, 정가, 할인가 세가지가 필요할 것이다.
    • 여기서 오류가발생할 수도 있기 때문에 public Oop3b(){}로 default 방지를 해준다.
    • 여기서 할인가격을 매개변수로 하지 않는 이유는 따로 메소드로 생성하여 계산해야하기 때문이다.
    • 생성자를 생성할 때 파라미터 안 매개변수를 선언하고 this로 호출하여준다.
    • dc확률을 구하는 메소드를 선언하고 출력을 선언한다.

     

    • 총 책이 3권 이므로 3개를 출력한다. 여기서 파라미터에 적용되었던 값을 그대로 선언해준다.
    • 그리고 각 책 종류에 맞추어 정가와 할인을 출력한다.

    보기엔 복잡해보이고 어려워보이지만 필요한 요소와 절차를 떠올리며 진행하면 생각보다 어렵지 않다. 클래스를 만들어 변수를 선언하고, 생성자를 생성하고, 해당되는 메소드로 실행하며 출력해주면 main메소드에서 객체를 생성하여 호출만 해주면 된다.

     

    오늘 교육 간 느낀 점

    오늘은 객체를 처음 접하는 날이었다. 사실 이전까지의 교육은 java를 배운게 아닌 프로그래밍을 함에 있어서 기초를 다졌다면 이젠 정말 java라는 언어를 배운다고 볼 수 있다. 짧은시간 급하게 달려왔기 때문에 아직 기초도 많이 부족하고 이해력도 부족하지만 확실히 객체지향을 공부하게 되니 재미도 있고 더욱 흥미를 느꼈다. 물론 계속 더 어려워지겠지만 꾸준히 노력하다 보면 결국 내 것으로 만들고 내 마음대로 다룰 수 있을 것이라 생각한다.
    앞으로도 쭉 화이팅해야겠다!

    댓글