분류 전체보기(132)
-
[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 -
[Java] 클래스의 객체 / 인스턴스화
p. 176 new 키워드를 사용하여 생성할 인스턴스의 클래스명을 명시 Heap 공간에 생성된 인스턴스 주소를 저장할 참조변수를 선언하고 해당 인스턴스 생성 후의 주소값을 저장 인스턴스 생성 후에는 참조변수를 통해 인스턴스 접근 가능 ⇒ 변수명.멤버변수명 또는 변수명.메서드명() 의 형태로 접근 ⇒ 단, 자신의 클래스 내의 변수 또는 메서드는 참조변수 없이 바로 접근 [제한자] class 클래스명 { // 멤버변수(인스턴스 변수) 선언 // 멤버메서드 정의 } 클래스명 변수명(참조형변수) = new 클래스명(); 교재 p175 (클래스 생성) ======== Person.java 파일 만들기..
2021.01.19