관리 메뉴

개발 노트

10/19 자바 개념 복습 본문

프로젝트 기반 JAVA 응용 SW개발 : 22.07.19~23.01.20/JAVA

10/19 자바 개념 복습

hayoung.dev 2022. 10. 26. 12:28

클래스 : 객체를 생성하는 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를 안써도 되지만 쓰는것이 권장이다.

 

 

반응형