overriding
부모 클래스가 가지고 있는 메소드를 자식 클래스가 재정의하여 사용하는 것
단, 아래의 조건은 부모 클래스와 자식 클래스가 동일해야한다.
- 메소드의 이름
- 메소드 매개변수의 숫자와 데이터 타입 그리고 순서
- 메소드의 리턴 타입
위와 같이 메소드의 형태를 정의하는 사항들을 통틀어 메소드의 서명(signature)라고 한다.
메소드의 서명을 지키려다보면 코드의 중복이 발생할 수 있다.
이럴 때는 super를 활용하면 해결할 수 있다.
overloading
같은 메소드 이름이지만 매개변수의 타입이나 갯수를 변경하여 작성하는 것
overloading을 하는 경우 메소드의 기능이 비슷할 것이기에 코드 역시 중복이 발생하게 된다.
this.메소드명(파라미터..)와 같이 this를 활용해주면 중복을 줄일 수 있다.
클래스 패스
한 파일에 있는 클래스만큼 클래스 파일이 생성된다.
하나의 파일에서 사용되는 클래스는 같은 디렉터리 내에 있어야 정상 실행이 된다.
같은 디렉터리 내에 있지 않을 경우 다른 디렉터리까지 체크해볼 수 있도록 컴파일해야한다.
ex) java ClasspathDemo2.java ㅡ> java -classpath ".;lib" ClasspathDemo2
하지만 매번 컴파일할 때마다 신경써주기에는 번거롭기 때문에 환경변수를 사용한다.
윈도우의 경우) 내PC ㅡ> 속성 ㅡ> 시스템 ㅡ> 고급시스템 설정 ㅡ> 환경변수
하지만 환경변수가 설정되어있지 않은 곳에서는 재설정해줘야 한다는 단점이 있기에
환경변수 파일을 따로 만들어주기도 한다.
패키지
클래스가 많아짐에 따라서 같은 이름을 가진 클래스가 생겨날 가능성이 높아지면서 이름의 충돌을 방지하기 위해 고안된 것
IDE를 사용할 경우 자동으로 패키지가 import되기도 하거니와
생활코딩 강의 내용에도 "배우고 익히고 잊어버려라"고 하셔서 포스팅은 안하겠습니다.
강의는 링크 걸어놓을테니 가서 들어보심 될 거 같습니다. :)
API와 API 문서 보는 법
API
자바 시스템을 제어하기 위해서 자바에서 제공하는 명령어들
ex) java.lang 패키지
위 사이트 접속 후 API Documentation을 클릭하면 아래와 같이 보인다.
- 자바에서 기본적으로 제공하는 API 패키지의 리스트
- 1번에서 선택한 패키지들만 보여주는 클래스 리스트
- 2번에서 선택한 클래스의 멤버들을 보여주는 리스트
'JAVA > [생활코딩] 자바' 카테고리의 다른 글
[생활코딩] 예외 처리, Object 클래스, 상수와 enum (0) | 2023.04.30 |
---|---|
[생활코딩] 접근 제어자, abstract, final, 인터페이스, 다형성 (1) | 2023.04.17 |
[생활코딩] 자바 유효범위, 초기화와 생성자, 상속, 상속과 생성자 (0) | 2023.03.31 |
[생활코딩] 자바 객체지향프로그래밍, 클래스와 인스턴스 그리고 객체, 클래스 멤버와 인스턴스 멤버 (0) | 2023.03.31 |
[생활코딩] 자바 숫자와 문자, 변수, 주석과 세미콜론, 데이터 타입, 상수의 데이터 타입, 형변환, 연산자, 비교와 Boolean (0) | 2023.03.21 |