티스토리 뷰

SEB_BE_41

09.09 ~ 12 연휴 기간 복습

Greatshine 2022. 9. 13. 00:06

 

 

긴 기간 동안의 연휴였다.

효율적으로 시간을 잘 썼냐라고 물어보면 솔직히 그렇지는 못했다고 답해야 할 것 같다..

그래도 좋은 사이트를 발견했고, 그 사이트를 통해서 개념들을 어느정도 구체화시키는 데에 집중했다.

https://cloudstudying.kr/courses/61

 

자바, 객체지향! | CloudStudying

 

cloudstudying.kr

 

개념들을 간략하고 아주 명료하게 적어놔서 다시 상기시키기에 좋았고

예제들도 다양했기 때문에 연휴 기간동안 코드들을 음미하고 소화시키기에 충분했다.


우리는 클래스에 필드와 메서드를 정의하고
그 클래스의 객체를 생성하여 필드를 따로 초기화하였다.
생성자는 이러한 과정을 함축 시킬 수 있다.
객체를 생성할 때 생성자 안에 매개변수를 넣어주면서
우리는 객체를 생성하면서 필드를 바로 초기화시킬 수 있는 것이다.

객체1과 객체2가 있다.
객체1 메서드에 객체2를 매개변수로 쓸 수 있다.
객체1 메서드는 객체1 필드를 기본적으로 받고 객체2.name과 같은 형식으로 객체2의 필드값 또한 사용할 수 있다.

객체로 배열을 만들 수 있다.
클래스타입[] 참조변수 = {객체1, 객체2, 객체3}; 으로 객체 배열을 만든 후
반복문을 통해 활용가능하다.
for(int i = 0; i < 참조변수.length ; i++) {
System.out.println(참조 변수[i]. 메서드());
}

getter 메서드를 통해 private 제어자로 지정된 변수의 값을 return 할 수 있다.
setter 메서드는 그 변수의 값을 변경할 수 있다. (형식에 맞게)

인터페이스로 구현해야 할 목표에 대한 전체적인 틀을 정한다.
ex) 핸드폰
그 틀에 대한 기능들을 껍데기로 구현해 놓는다 (추상 메서드)
ex) 알람, 전화, 문자 등
인터페이스를 구현(implements)하는 구현체 클래스를 정의하여
추상 메서드를 오버라이딩을 통해 기능을 구현한다. (반드시 구현해야 함)
ex) 알람 -> 띠링띠링 울리기
      전화 -> 010 ~~으로 전화 왔어요~

인터페이스를 쓰면
프로그램 설계의 틀을 잡으며 전체적인 모양을 잡을 수 있고(추상화)
서로 다른 객체(위의 알람, 전화 등)에게 연관성을 부여할 수 있으며(업 캐스팅)
한 객체를 다양한 인터페이스로 해석이 가능해진다.(다형성)

class SmartPhone implements Alarm, Phone, Messenger
-> 하나의 클래스가 여러 개의 인터페이스를 구현할 수 있다.

정리하자면 하나의 인터페이스를 여러 개의 클래스가 구현할 수 있고
반대로 하나의 클래스가 여러 개의 인터페이스를 구현할 수 있다.

다양한 api에 대해서 배움(math.random, random, arraylist, Tokenizer 등)

 


내가 놓치고 있던 부분이나 새롭게 알게 된 부분들을 적어 놨던 것이다.

그렇다고 해서 완벽하게 개념들을 꿰뚫고 모든 것을 해결할 정도가 되진 않았기 때문에

계속해서 학습을 진행하는 중간중간에도 개념을 복습할 수 있도록 문제를 많이 풀어보면서

자연스럽게 흡수하도록 신경 써야겠다.

 

내일부터 또다시 진도를 나가게 된다.

개념들을 놓치지 않고 잘 따라갈 수 있도록 다시 열심히 뛰어봐야겠다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/09   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함