1) main함수 읽으며 a도 읽지. 만약! 저 int i = 0;이 영향을 미쳤으면 계속 0이 출력되는 무한루프에 빠졌을 수도 있는데 영향을 미치지x
2) i=0
그 다음 읽는게 i++ 그래서 1인데 이건 <5라 참이니 아래 읽어내려가서 1 (이 순서로 읽는거였다~~)
유효범위
메소드 안에서 변수를 선언하면 그 메소드 안에서만 유효하다는것
오류남
main함수 입장에서는 title이 어딨는데?!가 되기때문. title은 a함수 내에서만 있는 상태다 지금. main이 읽을수가 없음.
->5출력
->30 출력
자기자신 변수 없었으면 5출력
자기자신, 전역 변수 둘 다 없으면 오류!
다른 변수들은 영향을 주지 못한다는점
정적인 유효범위
요새 현대적인 프로그래밍은 대분분 동적인! 유효범위를 갖는다.
만약 두 개를 다 출력하고 싶을땐 이렇게
this는 인스턴스 자신/전역 변수를 가르키는거였음!
c1.setOprands하지 않고 이렇게 줄 수 있으면 편하지~!
클래스명과 이름같음에 집중.
바로 이 생성자가 값을 넣어주는(?) 역할을 해준다.
지금 다시 보니 new Calculator는 바로 생성자를 만드는 것이었던것!
extends되어있기때문에
기능들 살피다가 '없으면' extends된 Calculator가서 기능들 쓰는것
자식이 자식 낳아 상속하는것도 같은 기능
//
기본 생성자로 받아야하는데 parameter가 있는 생성자만 만들어주어서. parameter받는 생성자를 만들어주면 Java는 기본생성자를 자동 생성해주지 않는다.
자식이 부모를 상속받을때
1) 먼저 부모 Calculator의 (기본)생성자를 가지고옴.
ㅡ 근데 여기서 Calculator는 parameter를 받는 생성자를 만들어줘서 자식이 부모생성자를 가지고오지 못해서 오류가 나는 것.
그래서 이렇게 생성해줘야함.
↓만약 부모 코드에 (기본) 생성자를 만들어줬는지 안해줬는지 신경쓰지 않고도 자식 간에서 처리해줄 수 있는 방법!
//
Override하기 위해서는 메소드 리턴 형식이 같아야함
ㅡ 이건 예제 확인해보기
오버라이드!
+ 그리고 추가로 더 구현해주고 싶은게 있으면 뒤에 붙이면되고
오버로드
같은 이름
다른 매개변수
같은 이름의 메소드를 여러개 정의하는것.
ㅡ 매개변수에 따라 활용되는게 다르고.
각각 가리키는게 이렇게 될 것
근데 만약 intA()가 또 있으면 에러가 남
od.A()가 누구를 쓰는지 애매해서
오버로드 조건
ㅡ 메쏘드 이름 같아야
ㅡ 매개변수 다르고
ㅡ 리턴값은 같아야
매개변수 이름을 다르게 하는건 영향을 주지 x
오타 ㅡ 오버로드임.
이 부분은 너무 어렵게 가르치는듯...
학원 수업때 한 번에 이해갔던 내용들인데 뭔가 엄청 어렵게 느껴짐. 생활코딩에서는 글로만 풀이해서 그런듯힌다. 이건 학원 수업거 그냥보기...
생활코딩 java 160강 (103강~120강. 객체지향 (3)) (0) | 2021.04.12 |
---|---|
생활코딩 java 160강 (67강~78강. 객체지향 (1)) (1) | 2021.04.11 |
생활코딩 java 160강 (54강~66강. 메소드,입출력 부분) (0) | 2021.04.10 |
생활코딩 java 160강 (1~53강. 절차지향 부분) (0) | 2021.04.10 |