
📚 3주차 미션 정리
🔖 기본 미션 (필수)
어렵거나 중요하다고 생각하는 용어를 혼공 용어 노트에 정리하고 공유하기
- 필드(Field)
- 객체의 데이터가 저장되는 곳
- 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체가 소멸되지 않는 한 함께 존재
- 생성자(Constructor)
- new 연산자로 호출되는 특별한 중괄호{} 블럭
- 객체 생성 시 초기화 담당
- 메소드와 비슷하지만, 클래스 이름으로 되어 있고 리턴 타입이 없음
- 메소드(Method)
- 객체의 동작에 해당하는 중괄호{} 블럭
- 메소드를 호출하면 블록에 있는 모든 코드들이 일괄적으로 실행
- 객체 간의 데이터를 전달하는 수단
- 호출한 곳으로 부터 매개 값을 받아 실행 하고, 결과 값을 호출한 곳으로 리턴할 수도 있음
- 오버로딩(Overloading)
- 메소드의 이름이 같고, 매개변수의 개수나 타입이 달라야함
- 리턴 값만 다른 것은 오버로딩을 할 수 업음
- 오버라이딩(Overriding)
- 부모 클래스로부터 상속받은 메서드의 내용을 변경(재 정의)하여 사용
- 상속받은 메서드를 그대로 사용할 수 있지만, 필요에 따라 메서드를 재정의 하여 사용해야하는 경우가 오버라이딩
- 싱글톤(Singleton)
- 전체 프로그램에서 단 하나의 객체만 만들도록 보장
- 특정 클래스의 인스턴스를 1개만 생성되는 것을 보장
접근 제한자 | 적용 대상 | 접근 가능 대상 | 접근 불가 대상 |
---|
public | 클래스, 필드, 생성자, 메소드 | 모든 대상 | 없음 |
protected | 필드, 생성자, 메소드 | 같은 패키지 또는 자식 클래스 | 자식 클래스가 아닌 다른 패키지의 클래스 |
default | 클래스, 필드, 생성자, 메소드 | 같은 패키지에 소속된 클래스 | 다른 패키지에 소속된 클래스 |
private | 필드, 생성자, 메소드 | 클래스 내부 | 클래스 외부 |
🔖 추가 미션 (선택)
객체 지향 프로그래밍(OOP)의 개념 정리하기
- 추상화
- 새로운 객체를 만들 때, 클래스의 고유기능만 새로 만들어주고 공통된 기능은 상속을 통해서 이용 가능
- 코드의 중복이 줄어들고, 코드의 재사용이 용이
- 상속
- 하위 클래스는 상위 클래스의 변수와 기능을 물려받아서, 재사용가능
- 상속을 통해서 코드의 중복 제거
- 다형성
- 메서드 오버로딩, 메서드 오버라이딩
- 코드의 재사용성과 유연성을 높이고, 불필요한 코드 중복과 결합도를 낮춰서 유지보수성을 높일 수 있음
- 캡슐화
- 외부에서 알 필요가 없는 부분을 감춤으로써 대상을 단순화하는 추상화의 한 종류
💡 객체는 데이터와 동작들을 묶어서 하나로 관리, 이러한 객체들을 만들어서 프로그래밍하는 것
💡 유연함, 코드의 재사용 줄이기, 코드의 가독성 향상, 유지보수를 용이하게 만드는 것이 목적