반응형

[학습일지] 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] 자바 배열 array 사용법


자바의 배열

 

기본적으로 배열이란 하나의 공통 타입을 갖는 여러 개의 변수들을 모아서 관리하기 위해 사용합니다.

 

배열 사용

여러 변수들을 라인마다 입력하는 것 보다는 사진처럼 한 줄로 처리하는 게 더 깔끔하고 추후에 관리도 편합니다.

 

배열을 사용하기 위해 선언하는 방식은 자료형뒤에 [ ]를 붙여주시면 됩니다.

변수 뒤에 [ ]를 붙일 수도 있지만, 코드 가독성에서 자료형 뒤에 [ ]를 붙여주는 것이 "해당 자료형으로 선언된 배열이구나."라고 인식하기 더 좋습니다.

 


배열 선언의 방법 3가지

 

배열 선언 방법

방법1은 선언 이후에 초기화를 다음 라인에서 합니다. 주의할 점은 new int [ ] { 요소 1, 요소 2... }를 반드시 작성해주어야 합니다.

방법 2와 방법 3은 동일하며, 방법 3이 간단하여 더 자주 사용합니다.

 

 

 

배열에 요소를 넣지 않고 빈 배열로 크기만 지정해서 사용하는 방법도 있습니다. 크기만 선언하면 요소들은 default로 자동 초기화 됩니다.

int형의 default값은 0이기 때문에 해당 배열은 0으로 모든 요소가 초기화 됩니다.

빈 배열

new int[ ] 내부에 개수를 얼마큼 잡을 것인지 숫자를 넣어주면 됩니다. 10을 넣으면 10개의 int 타입을 저장할 공간을 메모리에 잡습니다.

배열 크기의 확인은 배열변수.length 로 확인할 수 있습니다.

 


배열 사용의 주의점

 

배열은 첫번째 요소가 0번부터 시작합니다. 만약 첫 번째 요소를 찾고 싶다면 배열 변수[0]로 찾을 수 있습니다.

첫 번째 요소가 0이므로 마지막 요소는 배열의 크기-1입니다. 

배열 변수[배열 변수. length - 1]로 마지막 요소를 찾을 수 있습니다.

 

또한 배열 사용의 주의점은 한번 배열의 크기가 결정되면, 이 크기를 변경할 수 없습니다.

그 이유는 배열은 메모리에서 연이어서 생성이 되어있습니다.

배열 변수를 출력해보면 참조값이 나오는데 이 값은 배열 첫 번째 요소의 참조 주소 값입니다.

배열에서 index 위치에 해당되는 값을 (첫 주소의 위치 + 타입 크기 * 찾는 index)로 빠르게 접근할 수 있는 이유입니다. (이어서 연결되어있기 때문)

크기를 변경하면 사용 중인 배열 메모리의 뒷 메모리가 사용하고 있을 수 있기 때문에 배열 크기를 변경할 수 없습니다.

크기를 늘리고 싶다면 새로운 더 넓은 크기의 배열을 선언해서 요소들을 복사해주는 과정을 거쳐야 합니다.

 

 


 

 

반응형

'CS > 자료구조' 카테고리의 다른 글

[JAVA]자바 PriorityQueue 우선 순위 큐  (0) 2022.03.19

+ Recent posts