반응형

[학습일지] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강 3주차


Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강을 수강한 지 3주차가 되었다.

3주차에서 배운 내용은 객체의 기본적인 작성 내용을 배운다.

추가로 배열에 대해서 배우는데, 이러한 배열을 더 손쉽게 다룰 수 있도록 도와주는

JAVA API인 ArrayList에 대해 배웠다.

 


3주차

 

3주차에서 다루는 객체지향의 특징은 정보은닉과 캡슐화에 대한 내용이다.

정보은닉은 멤버 변수가 특정 범위나 특정 조건을 만족해야 할 때 외부에서 함부로 변수 값을 조정하지 못하도록 하는 것이다.

캡슐화는 클래스의 구현된 함수를 통해 객체간의 협력을 가능하도록 하여, 낮은 결합도를 유지할 수 있다.

 

객체를 정의할 때 정보은닉과 캡슐화에 유의하며 구현하게 되면

객체간의 협력을 할 때 오류를 최소한으로 낮추고 효율적으로 객체를 이용할 수 있다는 장점이 있다.

 

 

강의 내용을 토대로 하나의 객체를 작성했다.

 

클래스 멤버

해당 클래스는 글 번호, 글 제목, 글 내용의 정보를 갖는 클래스다.

인스턴스 변수는 외부에서 접근하지 못하도록 접근제어자를 private로 설정하였고,

생성자 오버 로딩을 통해 생성자는 2개로 구성했다.

 

생성자의 접근제어자는 default이므로 같은 패키지에서만 인스턴스를 생성할 수 있을 것이다.

글 번호마다 번호를 부여해야 하므로 클래스 변수를 하나 생성해두었고,

인스턴스가 만들어질 때마다 하나씩 증가하여 해당 인스턴스의 글 번호로 사용되게 하였다.

 

메서드

메서드의 종류는 총 4가지로 구성했다.

글 제목과 글 내용을 보여주는 showPost,

제목을 수정하는 modifyTile,

글 내용을 수정하는 modifyText,

생성된 글의 총개수를 보여주는 postCount를 만들어 두었다.

 

 

 

메인에서 만들어진 객체를 생성하여 각 기능을 사용하면 다음과 같다.

 

 


 

추가로 강의를 수강하기 이전에 강의 제목만 보고

학생들이 운송 수단을 타고 이동하는 객체 협력을 구현해봤는데,

매끄럽게 구현되지는 않았다.

 

객체 간의 협력은 Trans 클래스의 getMoney 함수를 통해 이루어진다.

학생이 Trans.getMoney()를 이용해서 각자가 내는 돈을 Trans 객체가 계속해서 모으며

학생은 Trans.paymoney 객체의 설정된 비용만큼 자신의 돈을 소모한다.

 

 

 

main함수에서 객체를 생성하고 출력 결과는 다음과 같다.

 

 

 


배열에 대한 사용 부분은 이전에 작성한 글이 있어서 따로 이곳에 작성하지 않았다.

https://komas.tistory.com/58

 

[JAVA] 자바 배열 array 사용법

[JAVA] 자바 배열 array 사용법 자바의 배열 기본적으로 배열이란 하나의 공통 타입을 갖는 여러 개의 변수들을 모아서 관리하기 위해 사용합니다. 여러 변수들을 라인마다 입력하는 것 보다는 사

komas.tistory.com

 


 

반응형
반응형

 


[학습일지] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강 2주차


 

내일 배움 카드를 통해 패스트캠퍼스에서 자바 스프링 강의를 수강 중에 있습니다.

이번 주차는 2주차로 자바에서의 조건문, 반복문인 제어문을 배웠고, 객체의 초반부 강의를 수강했습니다.

이를 정리, 기록하고자 글을 작성합니다.

 


  • 조건문
  • 반복문
  • 객체 기초

자바 조건문 - if else, switch

 

if else

 

조건문은 if문의 내부 조건이 참이라면 해당 부분만 동작하고 아래 else if, else 문은 동작하지 않습니다.

만약 if문이 거짓이고, else if가 참이라면 마찬가지로 else if가 동작하고, 아래 else 문은 동작하지 않습니다.

즉, else 문은 if, else if 가 모두 거짓이어야 그때서야 동작합니다.

 

if와 else if는 내부 조건을 확인하여 동작하는 같은 역할이지만 상호 배타적으로 한쪽이 동작하면 다른 쪽이 동작하지 않습니다.

제어가 위에서 아래로 내려오면서 condition을 확인하므로 우선권은 if문이 갖습니다.

else if는 여러 개 작성이 가능합니다.

 

 

 

switch

 

다른 조건문으로 switch 문이 있습니다.

switch의 내부 조건을 확인하고 일치하는 case로 제어를 넘겨줍니다.

조건은 정수, 문자열, 상수가 가능합니다. 변수, 실수는 불가능합니다.

break가 없다면 해당되는 case 아래 case들을 모두 실행하므로 break를 적절히 사용해주어야 합니다.

 


자바 반복문 - while, for

 

while

 

자바에서의 반복문으로 while이 있습니다. while은 condition이 true일 때 계속 동작을 하다가 false가 되면 종료를 합니다.

해당 코드는 5 미만일 때 종료가 될 것처럼 작성했지만 사실 4일 때 while문으로 들어가서 5를 만들기 때문에 최종적으로 sum은 5가 됩니다.

 

 

for

 

다른 반복문인 for문은 (초기식, 종료식, 증감식)으로 구성되어 있습니다.

초기식은 반복 횟수를 위해 사용할 변수를 초기화해줍니다.

종료식은 반복문이 언제 종료될 것인가를 결정합니다.

증감식은 반복 횟수를 위해 사용할 변수를 증감해주는 역할을 합니다.

쉼표를 기준으로 초기식에 여러 변수를 선언할 수 있고, 증감식에도 여러 변수 증감이 가능합니다.

코드는 while때와 마찬가지로 i가 0부터 4까지 총 5회 반복을 진행하기 때문에 sum은 5가 됩니다.

 

 


자바 객체 

 

객체지향 프로그래밍이란 현실 세계의 구체적, 추상적 단위를 객체로 설계하여 각 개체의 속성, 기능을 통해 협력하여 동작하도록 하는 것입니다.

 

객체를 클래스로 구현하는 방법

  • 속성은 멤버 변수로 선언
  • 기능은 메서드로 선언

member

객체의 속성은 클래스 내부에 작성합니다.

 

 

method

객체의 기능인 메서드는 반환 타입, 함수명, 매개변수, 몸체로 구현합니다.

 

 

객체의 생성

객체는 new 연산자를 통해 인스턴스로 생성되고 생성된 인스턴스는 힙 메모리에 동적 할당됩니다.

인스턴스가 사용되지 않으면 가비지 컬렉터가 사용하지 않는 인스턴스를 제거합니다.

 

생성자

생성자는 객체의 멤버 변수를 초기화해주는 역할을 합니다.

new 연산자를 통해 인스턴스를 생성할 때 초기화해줄 수 있습니다.

매개변수가 없는 기본 생성자는 컴파일러가 추가해주지만, 생성자를 작성하게 되면 기본 생성자를 추가하지 않습니다.

생성자는 오버 로딩이 가능합니다.

반응형

+ Recent posts