본문 바로가기

Language/java55

Java_Study 객체지향 프로그래밍 (오버로딩) 오버로딩 : 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 ( 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다.) 오버로딩의 조건 1. 메서드 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. ※ 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다. 오버로딩 사용하는 이유 : 다른 이름을 가져야 하는 경우 해당 메서드를 일일이 구분해서 기억해야 하는 부담이 생기기 때문에 가변인자와 오버로딩 : 가변인자는 내부적으로 배열을 이용하는 것. ex) static String concatenate (String delim, String ... args) { ..... 2022. 7. 1.
Java_Study 객체지향 프로그래밍 (변수와 메서드) 변수의 종류 변수의 종류 선언위치 생성시기 클래스 변수 클래스영역 클래스가 메모리에 올라갈 때 인스턴스 변수 클래스영역 인스턴스가 생성되었을 때 지역변수 클래스 영역 이외의 영역 변수 선언문이 수행되었을 때 1. 인스턴스 변수 독립적인 저장공간을 가지므로 서로 다른 값을 가질 수 있다. 인스턴스마다 고유한 상태를 유지해야하는 속성의 경우, 인스턴스 변수로 선언 2. 클래스 변수 모든 인스턴스가 공통된 저장공간을 공유하게 된다. 한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야 하는 속성의 경우, 클래스 변수 선언 3. 지역변수 메서드 내에서만 사용 가능, 메서드 종료되면 소멸되어 사용불가 인스턴스변수는 인스턴스가 생성될 때 마다 생성되므로 인스턴스마다 각기 다른 값을 유지할 수 있지만, 클래스 변수는.. 2022. 6. 29.
JAVA_객체지향 프로그래밍 (클래스와 객체) 객체지향언어의 특징 1. 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 클래스와 객체 클래스 : 객체를 정의해놓은 것, 객체의 설계도 또는 틀 객체 : 클래스에 정의된 내용대로 메모리에 생성된 것 Ex : TV설계도(클래스) - TV(객체) 클래스를 정의하고 클래스를 통해 객체를 생성하는 이유는 객체를 생성할 때 간편하게 생성하기 위해서 객체와 인스턴스 인스턴스화 :.. 2022. 6. 29.