728x90
객체지향, 오버로딩과 오버라이딩의 차이, 생성자
1. 객체지향 에서 중요하다고 여겨지는 두 가지
- 상속
- 다형성
그리고 그 기반에 추상화 라는 원리가 숨겨져 있다.
2. 오버로딩과 오버라이딩의 차이
오버로딩 은 중복선언. =여러번 정의 하는 것.
인수의 형태와 수가 기존에 선언된 메소드와 달라야 한다.
오버로딩의 조건은 매개변수의 data type과 개수.
리턴값은 관계가 없다.(같아도 되고 달라도 괜찮음)
오버라이딩은 부모 클래스에 정의된 같은 이름.
같은 파라미터 목록을 가진 메서드를 자식 클래스에서 재정의하는 경우를 가리킨다.
오버로딩과 달리 상속과 관련이 있다.
부모 클래스로부터 물려 받으며 자신에 맞게 수정한다.
메서드의 이름이 같아야 하고,
매개변수가 같아야 하고,
리턴 타입이 같아야 한다!
이런 것을 다형성 이라고 부른다.
또 이것을 동물에 자주 비유한다.. 강아지
3. 생성자
도대체 생성자가 하는 일 :
객체의 맴버에 자동으로 초기값을 설정.
‘ 프로그램 부품의 초기 설정을 자동으로 하기 위한 장치’
해당 클래스의 객체가 생성될 때, 생성자 안의 코드가 자동으로 실행.
- 그치만 메소드의 경우와는 달리 자유롭게 호출할 수는 없다.
또 생성자 이름은 반드시 클래스 이름과 같아야 함
리턴값도 없다.
예시로 car 클래스의 생성자라면
차량번호와 연료 양의 초기 값으로 0을 대입. 하는 처리를 맡길 수 있음.
++ 생성자오버로딩
It 학과에서 학기초 마다 가르쳐 주는 것 3가지...
그리고 매번 학생들은 답하지 못하지
728x90
'💻 컴퓨터 시스템' 카테고리의 다른 글
컴퓨터에서의 정수표현 (부호있는 정수, 2의 보수) (0) | 2021.07.20 |
---|---|
가상메모리, 페이징, 세그멘테이션, 페이지교체 알고리즘 (0) | 2021.07.20 |
메모리 Memory (0) | 2021.07.20 |
OS, 스케쥴링 알고리즘 (0) | 2021.07.20 |
[CPU 와 Memory] 캐시메모리, 왜 메모리가 컴퓨터의 전체 성능을 좌우할까? (0) | 2021.07.20 |
댓글