Developer J

kh정보교육원 12, 13 ,14일차 후기 본문

국비학원 일상

kh정보교육원 12, 13 ,14일차 후기

Developer J 2020. 1. 23. 11:39
반응형

12일 차

메소드에 대해 배웠다. 지금까지 꾸준히 코딩을 하는 과정에서 사용했던 것이기 때문에 익숙했다. 친숙해서 그런지 이해하기 쉬웠다. 처음에는 모르고 쳤던 것을 지금은 조금씩 자세하게 알아가고 있다.

public void sum(){} 

이제 위의 문장을 보고 생각이 든다. "public 어디서든 접근이 가능하고 void 반환하지 않는 sum 메소드구나"

저번 주 과제부터는 +,-로 접근 제한자가 표시되어 있었다. 처음에는 적응을 못했다. 하지만 조금씩 자연스러워지겠지 라는 생각으로 마주하고 있다. +,- 이외에도 밑줄이 그어진 메소드는 Static으로 선언을 해주어야 한다.

 

getter와 setter를 배웠다. 필드에 선언된 private 변수들을 일일이 getter와 setter로 만드는 작업을 했는데... 상당히 힘들다. 힘들다는 말은 노가다를 하는 게 힘들다. 변수의 개수만큼 getter와 setter를 일일이 손으로 타이핑하는 작업을 했다. 계속 getter와 setter를 치고 있으면 무념무상이 된다. 

 

실습 문제를 통해서 getter와 setter를 열심히 쳤다. 또다시 편리한 기능을 배우고 싶다는 생각이 드는 순간이었다.

getter와 setter를 사용해서 서로 다른 package를 왔다 갔다 하면서 메소드들을 사용하는 연습을 했다. 지금까지와는 난도가 높다고 느껴졌다. 하지만 실습 문제를 풀고 나면 뭔가 대단한 걸 하는 기분이 들었다. (별거 아니라고 생각할 수도 있다.)

 

13일 차

객체 배열을 배웠다. 객체 배열!!

배열을 배운 지 얼마 되지 않은 것 같지만 다시 새로운 객체 배열을 마주하게 되었다. 일단 모양부터 보고 가자.

//기본 배열
int [] arr = new int[5];
//객체 배열
Array[] arr = new Array[5];

모양을 보면 생김새는 크게 다르지 않다. 차이점은 기본 배열에서의 자료형 위치에 클래스 명이 들어간다는 것이다.

위에서 만든 배열의 이름은 arr이다. 객체 배열 arr[0]의 방에 여러 가지 정보들을 넣을 수 있다. 기존의 배열에는 index에 해당하는 방에 1개의 정보를 입력했지만 객체 배열의 경우에는 하나의 index에 여러 정보들을 넣을 수 있다.

 

예를 들어 보자. 한 사람의 이름, 나이, 성별을 저장하고 싶을 때 기존의 배열은 arr[0]=이름, arr[1]=나이, arr[2]=성별을 넣을 수 있다. 객체 배열의 경우 arr[0]에 이름, 나이, 성별을 한 번에 넣어서 arr[1]에는 다른 사람의 이름, 나이, 성별을 저장할 수 있다. 코드의 길이가 길어지고 입력해야 하는 정보가 방대해질수록 이런 개념들이 중요하게 작용할 것이다.

 

14일 차

getter와 setter를 일일이 치던 시기가 끝이 났다. 단축키를 사용해 자동 완성되는 것을 배웠다. 과제와 실습을 통해 꾸준히 게터와 세터를 쳐왔기 때문에 단축키로 사용하는 기능은 정말 기분이 좋다. 이렇게 편할 수가 없다.

상속을 배웠다. 상속도 getter와 setter를 단축키로 완성시키는 것만큼 편리하다. 공통되는 필드 변수와 생성자, getter, setter를 다른 클래스에서 사용할 때 일일이 작성하지 않고도 사용하게 해주는 것이 상속이다. 하지만, 편리한 만큼 상속해주는 부모의 변화에 자식들도 변화에 영향을 받기 때문에 주의를 해 주어야 한다. 부모가 변하면 자식도 변화돼야 한다.

오버라이딩은 자식 클래스가 상속받은 부모 메소드를 다시 작성하는 것을 말한다. 즉, 동일한 이름의 매소드를 자신이 원하는 방향으로 변화를 시켜 사용할 수 있게 하는 것을 말한다. 그렇다고 막 바꿀 수 있는 것은 아니니 성립 조건을 알고 사용하자.

오버라이딩은 오버로딩과 다르다. 이점도 알고 가자. 

오버라이딩 오버로딩
메소드 이름 동일 메소드 이름 동일
매개변수 동일(개수, 타입) 매개변수 다름(개수, 타입)
리턴 타입 동일 리턴 타입 상관 없음

 

 

 

반응형