Dev.Program/Java & Spring(53)
-
[Java] 메서드 오버라이딩(Overriding)
Getter / Setter 단축키 Alt + Shift + S → R 생성자 단축키 Alt + Shift + S → O Import 단축키 Ctrl + Shift + O 오버라이딩 단축키 Alt + Shift + S → V ======== 오늘날짜 프로젝트 만들고 Ex.java 만들기 p. 225 슈퍼클래스로부터 상속받은 메서드와 시그니쳐(이름, 파라미터 등)가 완벽하게 동일한 메서드를 새롭게 재정의하는 것 ⇒ 기존의 부모의 메서드를 자식이 새롭게 수정하는 것 오버라이딩 후 슈퍼클래스의 메서드는 은닉되어 보이지 않는다. 상속이 전제되어야 함 메서드 시그니쳐(이름, 파라미터 타입, 파라미터 갯수, 리턴타입)가 동일해야함 접근제..
2022.10.05 -
[Java] 상속(Inheritance)
======== Ex.java 만들기 p.218 is-a 관계가 성립하는 객체간의 관계 슈퍼클래스의 모든 멤버를 서브클래스에서 물려받아 선언없이 사용하는 것 슈퍼클래스(Super Class) = 부모 클래스 = 상위 클래스 = 조상 클래스 서브클래스(Sub Class) = 자식 클래스 = 하위 클래스 = 자손 클래스 생성자 및 private 접근 지정자가 선언된 멤버는 상속 대상에서 제외됨 자바는 단일 상속만 지원함 별도로 상속 대상을 지정하지 않을 경우 Object 클래스를 자동으로 상속받는다. ⇒ java.lang.Object 클래스는 모든 클래스의 최상위 클래스라고 한다. class 서브클래스명 extends 슈퍼클래스명 {} < Ex.ja..
2022.10.05 -
[Java] 패키지(package) / import
p.212~ 간단 설명 ======== Ex7.java 만들기 (package 설명) p.236 윈도우에서의 폴더, 리눅스에서의 디렉토리에 해당하는 개념 자바의 클래스 파일들을 모아놓은 공간 ⇒ 서로 다른 패키지에는 같은 이름의 클래스가 각각 존재할 수 있다! (같은 이름의 파일이 서로 다른 폴더에 존재하는 것과 동일) 자바에서 패키지를 사용하면, 실제 폴더가 패키지로 구분됨 특정 클래스 파일은 하나의 패키지에'만' 소속되어야 함 특정 클래스 파일의 맨 첫 번째 라인에 해당 클래스가 소속된 패키지명을 명시 실제 클래스 파일이 위치하는 패키지와 다를 경우 오류 발생 소스 코드의 첫번째 라인(주석 제외)에서만 사용 가능한 키워드 ⇒ 클래스 내에서 단..
2021.01.23 -
[Java] 생성자(Constructor)
생성자 메서드 라고도 함 객체가 생성될 때 호출되어 멤버변수 초기화나 객체 생성 시 특정 작업을 수행 메서드 구조와 유사하나, 리턴타입이 없고, 이름을 클래스명과 동일하게 정의 메서드와 마찬가지로 파라미터가 없을 수도 있고, 파라미터가 있을 수도 있다. 생성자를 정의하지 않으면, 컴파일러에 의해 기본 생성자가 자동으로 생성됨 ⇒ 하나라도 정의할 경우, 기본 생성자가 자동으로 생성되지 않는다! (기본 생성자 : 파라미터가 없고, 구현부의 코드가 아무것도 없음) ⇒ 생성자는 반드시 최소한 한 개 이상이 존재해야함(자동 생성 기본 생성자 포함) [제한자] 클래스명([파라미터...]) { // 객체 생성 시 수행할 작업들... } 생성자 만들 ..
2021.01.23 -
[Java] 오버로딩 / 가변인자
p.197 동일한 이름의 메서드를 여러개 정의하는 것 이름은 동일하고 파라미터가 서로 달라야 함 ⇒ 파라미터의 타입 또는 개수가 달라야 함 리턴타입은 오버로딩과 무관함(달라도 상관없음) 반드시 메서드를 호출하는 시점에서 오버로딩 된 메서드를 구분할 수 있어야함 ======== Ex.java 만들기. 문제 ) 정수 num 을 전달받아 절대값을 리턴하는 abs() 메서드 호출 정수 num 을 전달받아 절대값을 리턴하는 abs() 메서드 정의 더블 타입을 넣으면 오류남! public int abs(int num) {} ⇒ int 타입을 받기 때문에! 그래서 double 타입을 받아서 리턴하는 메소드를 따로 정의해줘야함. 오류가 사라짐 <..
2021.01.23 -
[Java] 변수 선언 위치에 따른 분류 / 접근제한자
지난번 복습 ========Ex.java 파일 만들기 (main 체크) 문제 ) 자동차(Car) 클래스 정의 - 멤버변수 1) 현재속력(speed, 정수형) 2) 최대속력(maxSpeed, 정수형) - 메서드 1) 속력 증가 : speedUp() -파라미터로 증가할 속력(s) 전달, 리턴값 없음 -증가할 속력(s)을 전달받아 현재속력(speed)에 누적 및 현재속력을 출력 단, 누적된 속력이 최대 속력(maxSpeed) 보다 클 경우 현재 속력(speed)을 최대 속력(maxSpeed)으로 고정 후 "최대 속력 도달!" 출력 2) 속력 감소 : speedDown() -파라미터로 감소할 속력(s) 전달, 리턴값 없음 -증가할 속력(s)을 전달받아 현재속력(speed)에서 차감 및 현재속력을 출력 단, 차감..
2021.01.23