[JAVA 이론] easy한 것 정리, 자꾸 까먹네

mango·2023년 5월 1일
0

JAVA

목록 보기
4/10

* 자바 이론 유용한 홈페이지


* 이론 개념

● JAVA 한 파일에 여러 클래스가 있어도 되지만, public class는 하나만 있어야 됨

그리고 public class 명과 자바 파일명은 같아야 됨

● parameter 과 argument

파라미터는 매개변수라는 뜻으로 함수에서 사용되는 그 변수

public void Eat(food food1, food food2)

여기서 food1, food2 얘네가 파라미터

아규먼트는 실제 값임

Junsu.Eat(hamburger, coke)

여기서 햄버거와 콜라가 아규먼트

● Overriding 과 Overloading

오버라이딩은 부모 함수 상속받아서 쓰는거. 함수명, 파라미터 형태, 숫자, return 형태까지 모두 같아야 함.

접근 제어자는 크거나 같아야 함 (ex. 부모가 protected면 자녀가 private은 안됨), (부모 private 메소드는 오버라이딩 할 수 없음.. butttt 컴파일 에러는 발생하지 않음)

오버로딩은 똑같은 이름으로 여러개 있는거. 함수명은 같은데 파라미터 형태나 숫자가 무족권! 달라야 함 return 값은 노상관.

만약 return 형태 다르고 함수명, 파라미터 다 같다면 오버로딩 되지 않아서 컴파일 에러

● 클래스, 함수, 변수 생성 시 예약어 (feat. 접근범위)

public : 접근 제한이 없음

protected : 동일한 패키지 내에 존재하거나 파생클래스에서만 접근 가능

default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능

private : 자기 자신의 클래스 내에서만 접근이 가능

● final, static, static final

final : 클래스, 함수, 변수를 더이상 변경하지 못하게(오버라이딩 못하게) 하는 예약어

static : 정적 클래스, 함수, 변수 선언시 사용하는 예약어.

static static : 둘이 합쳐진 것(= 객체마다 값이 바뀌는 게 아닌, 클래스 멤버(고정값)를 선언하는 것이므로 선언과 동시에 초기화 필수)

ex. 사용예시

public final class FOOD

public final void Eat()

public final double d1

public static fianl double PI

● 예외처리 방식

try 구문 안에 예외가 발생될 가능성 있는 코드를 작성, 예외 발생시

catch 캐치문 실행

finally 예외처리 발생과 관계없이 실행

● 컴파일에러와 런타임에러

컴파일에러:

세미콜론; 미작성, {} 괄호 미작성 등 문법에 맞지 않는 것

런타임에러:

NullPointerException(생성되지 않은 객체를 참조할 때 발생)

Infinite Loop(무한 루프)

ArithmeticException(0으로 나눴을 때 발생)

등 프로그램 실행 중 발생하는 에러

-------------- <문제> ----------------------------------------------------------------------------------------------------------

[Q16] 다음 설명 중 틀린 것을 고르시오. (객관식)

① 추상 클래스(abstract class)는 하나 이상의 추상 메소드(abstract method)를 포함하고 있어야 한다.

② 추상 클래스는 객체를 생성할 수 없다.

③ protected 메소드는 모든 하위 클래스에서 호출할 수 있다.

④ 인터페이스를 구현한 클래스는 인터페이스에 포함된 모든 메소드를 구현하지 않아도 된다.

⑤ 자바의 모든 클래스는 Object 클래스의 자식 클래스이다.

⑥ A 클래스의 b 메소드를 하위 클래스 C에서 오버라이딩한 경우, 하위 C 클래스에서 상위 클래스의 b 메소

드를 호출할 수 있다.

정답 ① 추상 클래스는 추상 메소드를 포함하지 않아도 된다

profile
앎의 즐거움을 아는 나는 mango ♪

0개의 댓글