3주차

프로그램을 배운지 3주의 시간이 지났다. 강의를 들으면 만들어가는 프로그램이 하나씩 쌓여가고 나의 지식도 하나씩 쌓여가고 있다. 지난주와 연결되는 내용으로, 한주동안 객체지향을 공부했다. 확실히 점점 내용이 어려워지는게 느껴진다. 프로그래밍 개념들도 하나씩 배우고 있다. 캡슐화, 메모리, 인스턴스 프로그래밍 패턴들.. 아직 숲이 보이지는 않지만 언젠가 개념이 합쳐지고 숲을 볼수 있길 ^^

객체지향 입문

  • 접근 제어 지시자
    - private, default, protected, public
    - 다른 클래스에서 지정한 범위에 따라 접근가능한지를 결정하는 지시자
  • get() / set() 메서드
    - private로 선언된 멤버 변수에 대해서 조회 및 수정 기능을 함수로 제공
    - 자주 사용하는지 자동으로 생성해주는 것이 있음

객체지향 실습

버스와 지하철을 타고 학교 가는 학생의 과정을 객체지향 프로그래밍으로 구현해 보았다.

< 문제 >
James와 Tomas는 각각 버스와 지하철을 타고 학교에 갑니다.
James는 5000원을 가지고 있었고, 100번 버스를 타면서 1000원을 지불합니다. 
Tomas는 10000원을 가지고 있었고, 초록색 지하철을 타면서 1200원을 지불합니다.

두 학생이 버스와 지하철을 타는 사황을 구현해 봅시다.

학생, 버스, 지하철은 클래스로 기능 및 속성을 구현하였다.

< 학생 >
학생 클래스는 이름과 학년, 돈을 멤버 변수로 가진다.
버스를 타는 함수, 지하철을 타는 함수를 멤버함수로 가진다.코드를 입력하세요
< 버스 >
버스 클래스는 버스 번호, 승객수, 요금을 멤버 변수로
승차를 멤버 함수로 가진다.
< 지하철 >
지하철 클래스는 라인번호, 승객수, 요금을 멤버 변수로
승차를 멤버 함수로 가진다.
  • 실행
    : 프로그램에서는 James, Tomas를 학생 객체로 만든다.
    학생 객체를 만들 때(생성자), 각자 가지고 있는 돈을 저장해 둔다.
    James는 버스를, Tomas는 지하철을 타는 것을 실행한다.

==> 이번 프로그램을 만들면서 어떻게 객체를 구성해서 프로그래밍을 하는지 배울 수 있었다. '학생이 버스를 탄다.' 를 프로그래밍 할 때, 학생과 버스 객체가 필요하고 그 클래스 안에 멤버 변수로 값을 저장하고 멤버 함수를 통해서 동작을 정의 하는 것으로 이해된다.(ㅡㅜ 음.. 설명이 맞는지...) 이런 멤버 변수와 멤버 함수로 이루어진 클래스가 여러개 만들어지면서 프로그래밍이 되는 것 같다.

추가 개념

  • static
    - 여러 인스턴스가 공유할 수 있는 변수
    - 별도의 메모리 영역이 존재
    - 변수의 종류에 따라서 변수의 유효 범위가 다르다.
  • 싱글톤 패턴
    - 프로그램에서 인스턴스가 단 하나만 존재하는 디자인 패턴
  • 배열
    - 동일한 자료형을 순차적으로 저장하는 자료구조
    - ArrayList를 많이 활용함

3주차 회고

이번주에는 버스와 지하철을 타고가는 객체지향 실습을 통해서 그동안 배웠던 개념들을 정리할 수 있었고, 실제로 프로그램이 어떻게 동작하고 어떤 개념으로 만들어지는지 어렵풋하게나마 알 수 있었다.(남편 땡큐...) 프로그래밍이라는게 실제로 만들어보고 빠르게 개념을 바로바로 적용해 볼 수 있어서 재미있는 것 같다. 에러가 나도 바로바로 알려주니, 검색해가며 잘못을 찾아가는 것도 흥미로웠다. 점점 프로그래머가 되어가는 중~

0개의 댓글