일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오류
- console창
- github clone
- vscode
- Python
- OrCAD 다운로드
- 파이썬
- 깃 토큰
- import data
- error 해결
- run sql script
- 단축키
- localhost
- cmd
- PHPStorm
- php
- 데이터베이스
- Visual Studio Code
- MySQL
- jupyter
- clone
- 클론
- database
- github token
- DataGrip
- csv
- 에러
- 따옴표 삭제
- visualstudio code
- error
- Today
- Total
개발 노트
10/19 자바 개념 복습 본문
클래스 : 객체를 생성하는 template(틀)
(중요 : 면접 질문 나옴)
OOP의 정의
:Inheritance : class상속은 extends, 인터페이스 상속은 implements
원래는 인터페이스는 추상메소드는 구현할 수 없는데
자바 8이 나오면서 일부 메소드는 구현할 수 있다.
Encapsulation : private을 이용하여 멤버변수를 선언하고 getter, setter를 사용하여 정보 보호
Polymorphysm(다형성) : OverLoading과 OverRiding 비교
overloading : 같은 클래스 안에 똑같은 이름의 메소드가 있음.
overriding class나 인터페이스를 상속받아서 실행시키면 자식껄 실행시키고 자식에 없으면 부모를 실행시킨다.
(중요 : 면접 질문 나옴)
(중요 : 면접 질문 나올 수 있음)
class와 인터페이스의 차이점 물어볼 수 있음.
추상클래스와 인터페이스 비교
위 코드에서 4, 5줄은 멤버변수
6~18줄은 메소드(class 밖에 있으면 함수)이다.
void 앞에 아무것도 안써있으면 default값이다.
private를 쓰면 carEx.java에서 접근할 수 없다.
위 코드의 7줄처럼 Car myCar = new Car(); 선언을 하면
public Car() {} 로 기본생성자가 자동으로 만들어지며
이렇게 생성을 해야 메모리에 들어간다.
그러면 myCar는 Car.java에서 받아오는 값으로
CarEx.java에서 myCar.~ 코드를 통해 사용할 수 있다.
Static을 쓰면 동일 클래스 내의 모든 인스턴스들이 공유하는 변수이다. 그래서
이렇게 인스턴스를 생성하지 않고 바로 사용할 수 있다.
상수값을 선언할 때 AMTPERTIME 이렇게 전부 대문자로 이름을 지어놓으면
유지보수할 때 건드리지 말아야 하는 코드로 인식된다.
12~14줄에서 this를 안써도 되지만 쓰는것이 권장이다.