본문 바로가기

프로그래밍/JAVA

(24)
[ JAVA ] java.lang 패키지 - Object클래스 ◆ java.lang 패키지 - 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있으며, java.lang 패키지의 클래스들은 import문 없이도 사용 가능 1. Object 클래스 ▶ Object 클래스는 멤버변수는 없고 오직 11개의 메서드만 가지고 있다. Object클래스의 메서드 설명 protected Object clone() 객체 자신의 복사본을 반환한다. public boolean equals(Object obj) 객체 자신과 객체 obj가 같은 객체인지 알려준다. (같으면 true) protected void finalize() 객체가 소멸될 때 가비지 컬렉터에 의해 자동적으로 호출된다. 이 때 수행되어야하는 코드가 있을 때 오버라이딩한다. (거의 사용안함) public Class ..
[ JAVA ] 인터페이스(interface) 1. 인터페이스란? ▶ 인터페이스는 일종의 추상클래스이다. ▶ 추상메서드와 상수만을 멤버로 가질 수 있다. ▶ 밑그림만 그려져 있는 '기본 설계도'라고 할 수 있다. 2. 인터페이스의 작성 ▶ 인터페이스를 작성하는 것은 클래스를 작성하는 것과 같으며, 키워드로 interface를 사용한다. ▶ 접근제어자로 public 또는 default를 사용할 수 있다. ▶ 모든 멤버변수는 public static final 이어야 하며, 이를 생략할 수 있다. ▶ 모든 메서드는 public abstract 이어야 하며, 이를 생략할 수 있다. ▶ 생략된 제어자는 컴파일 시에 컴파일러가 자동적으로 추가해준다. ▶ JDK1.8이하에서 인터페이스의 모든 메서드는 추상메서드이어야 함. JDK1.8부터 인터페이스에 stati..
[ JAVA ] 오버라이딩(overriding) 1. 오버라이딩이란? - override의 사전적 의미는 '~위에 덮에쓰다(overwrite)'으로 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것을 말한다. - 상속받은 메서드를 자손 클래스 자신에 맞게 변경해야하는 경우 조상의 메서드를 오버라이딩한다. 2. 오버라이딩의 조건 자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와 ① 이름이 같아야 한다. ② 매개변수가 같아야 한다. ③ 반환타입이 같아야 한다. 즉, 선언부가 서로 일치해야 한다. ✔ 접근 제어자(access modifier)와 예외(exception)는 제한된 조건 하에서만 다르게 변경할 수 있다. 1️⃣ 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경 할 수 없다. - 만약 조상 클래스에 정의된 메서드의 접근 ..
[ JAVA ] 상속(inheritance) 1. 상속의 정의와 장점 - 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. - 상속은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. - 상속을 구현하는 방법 : 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써준다. 예시1) ◾ 조상 클래스 - 부모(parent)클래스, 상위(super)클래스, 기반(base)클래스 ◾ 자손 클래스 - 자식(child)클래스, 하위(sub)클래스, 파생된(derived)클래스 예시2) > 조상 클래스가 변경되면 자손 클래스는 자동적으로 영향을 받게 된다. > 자손 클래스가 변경되는 것은 조상 클래스에 아무런 영향을 주지 못한다. > 생성자와 ..
[ JAVA ] 자바의 형변환 ⭐ 자바의 형변환 - 형변환이란 변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 말한다. - 기본형과 참조형간의 형변환은 불가능하다. - 기본형에서 boolean을 제외한 나머지 타입들은 서로 형변환이 가능하다. - 자동 형변환(묵시적 형변환)과 강제 형변환(명시적 형변환)이 있다. ◾ 자동 형변환 - 컴파일러가 알아서 자동적으로 형변환을 해주는 것 ◾ 강제 형변환 - 변수나 리터럴의 앞에 변환하고자 하는 타입을 지정해주는 것 ① 자동 형변환 > 표현범위가 좁은 타입에서 넓은 타입으로 형변환할 때 형변환 연산자를 사용하지 않아도 자동 형변환이 된다. ② 강제 형변환 > 표현범위가 넓은 타입에서 좁은 타입으로 형변환하는 것으로 반드시 형변환 연산자를 써줘야 한다. ❓ float와 double이 같은 크..
[ JAVA ] 변수와 메서드 1. 선언위치에 따른 변수의 종류 ① 인스턴스변수(Instance variable) - 클래스 영역에 선언 - 클래스의 인스턴스를 생성할 때 만들어짐 - 독립적인 저장공간을 가지므로 서로 다른 값을 가질 수 있음 ② 클래스변수 (Class variable)(static변수, 공유변수) - 인스턴스 변수 앞에 static을 붙임 - 클래스변수는 모든 인스턴스가 공통된 저장공간(변수)을 공유함 - 클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때 까지 유지됨 - public을 앞에 붙이면 같은 프로그램 내에서 어디서나 접근할 수 있는 '전역변수(global variable)'의 성격을 갖는다 ③ 지역변수(local variable) - 메서드 내에 선언, 메서드 내에서만 사용 가능 - 메서드가 종료..
[ JAVA ] 기본형 1. 논리형 - boolean boolean형 변수에는 true와 false 중 하나를 저장할 수 있으며, 기본값은 false 주로 대답(yes/no), 스위치(on/off)등의 논리구현에 사용 boolean의 크기는 1byte 자바에서는 대소문자가 구별되기 때문에 true != TRUE 2. 문자형 - char - 문자를 저장하기 위한 변수를 선언할 때 사용. 단 하나의 문자만을 저장할 수 있다. - 문자의 유니코드(정수)가 저장되므로 char ch = 'A'; char ch = 65; 는 동일한 결과를 얻는다. (문자 'A'의 유니코드는 10진수로 65) - char형 변수에 저장된 값을 정수형(int)으로 변환하면 유니코드를 알 수 있다. ex) char ch = 'A'; ===> int code ..
[ JAVA ] 진법 1. 10진법과 2진법 10진법 - 0부터 9까지의 숫자를 사용하여 나타내는 기법. 10배마다 새로운 자리로 옮겨가는 기수법이다. 2진법 - 0과 1 두 종류의 숫자로 수를 나타내는 방식이다. 2. 비트(bit)와 바이트(byte) 비트(bit, binary digit) : 한 자리의 2진수를 비트(bit)라고 하며, 1비트는 컴퓨터가 값을 저장할 수 있는 최소단위. n비트로 표현할 수 있는 10진수 값의 개수는 2ⁿ, 값의 범위는 0 ~ 2ⁿ-1 바이트(byte) : 1바이트는 1비트 8개를 묶은 단위. 데이터의 기본 단위로 사용한다. 워드(word) : CPU가 한 번에 처리할 수 있는 데이터의 크기를 의미함. 워드의 크기는 CPU의 성능에 따라 달라짐. 3. 8진법과 16진법 8진수 : 0부터 7까..