meshjo_12 2023. 10. 6. 13:57

2023. 07.07 수업 이슈

  • 생성자 Overloading
  • Source Code의 구조화 -- MVC Pattern
  • Comparable | Comparator에 따른 정렬

 

3-tier 구조로 본 Domain Class

 

Object, String Class 사이에서 메소드 재정의

 

IS-A 관계 vs Has-A 관계

1. Has-A 관계

Has-A 관계는 다른 클래스의 기능(변수 혹은 메서드)을 받아들여 사용한다.

 

2. IS-A 관계

상속은 IS-A 관계에서 사용하는 것이 가장 효율적이다.

 

상속을 사용하면 많은 장점이 있지만, 하위 클래스가 상위 클래스에 종속되기 때문에 이질적인 클래스 간에는 상속을 사용하지 않는 것이 좋다. 단순히 재사용할 목적으로 서로 관련이 없는 개념의 클래스를 상속 관계로 사용하는 것은 추천하지 않는다.

 


ETC...

  • method overloading : 하나의 클래스에서 하는 일은 같지만, 처리하는 데이터를 달리하는 기법이다. 이를 통해, 소스코드의 가독력을 높인다.

[메소드 오버로딩 조건]

1. 메소드 이름을 같게 한다.

2. 인자 값을 달리해야 한다. 순서, 타입 하나라도 달라야 함.

3. 리턴 타입은 상관없다.

 

  • method overriding: 부모의 기능을 물려받는다. 이 과정에서 부모의 기능을 자신의 것에 맞게 바꿔쓴다. 상속관계의 2개의 클래스에서 기능적으로 발생하는 현상

 

  • 함수명 관련 Convention

1. find, search... 검색관련 기능은 왼쪽 접두어를 사용한다.

2. 어떤 수단으로...by를 쓴다. 예를 들어, findCustomerBySsn

3. '모든' 함수 구현 시, All이나 -s를 함수명에 써준다.

4. 리턴하는 함수는 get... 을 접두어로 많이 쓴다.