본문 바로가기

✏️Java 공부/Java의 정석15

[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 4 (오버로딩) 오버로딩이란 메서드도 변수와 마찬가지로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 그러나 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라고 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 한 클래스 내에서 같은 이름의 메서드를 여러 개 정의하는 것을 '오버로딩'이라고 한다. 오버로딩의 조건 오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야 한다. 1. 메서드 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. 메서드의 이름이 같더라도 매개변수가 다르면 서로 구별될 수 있기 때문에 오버로딩이 가능한 것이다. 위 조건들을 만족시키지 못하는 메서드는 중복 정의로 간주되.. 2022. 7. 1.
[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 3 (기본형 매개변수와 참조형 매개변수) 매개변수의 종류 자바에서는 메서드를 호출할 때 매개변수로 지정한 값을 메서드의 매개변수에 복사해서 넘겨준다. 매개변수의 타입이 기본형(primitive type)일 때는 기본형 값이 복사되겠지만, 참조형(reference type)이면 인스턴스의 주소가 복사된다. 기본형 매개변수 변수의 값을 읽기만 할 수 있다.(read only) 참조형 매개변수 변수의 값을 읽고 변경할 수 있다.(read & write) 기본형 매개변수의 예 class Data { int x; } public class PrimitiveParam { public static void main (String args[]) { Data data = new Data(); data.x = 10; System.out.println("X의 값은.. 2022. 7. 1.
[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 2 (변수와 메서드) 변수의 선언 위치에 따른 변수의 종류 변수는 클래스 변수, 인스턴스 변수, 지역 변수 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 '변수가 선언된 위치'이므로 변수의 종류를 파악하기 위해서는 변수가 어느 영역에서 선언되었는지를 확인하는 것이 매우 중요하다. class Animal { String name; //인스턴스 변수 static int age; //클래스 변수(static 변수) void method() { int localVariable; //지역 변수 } } 변수의 종류 선언 위치 생성 시기 인스턴스 변수(instance variable) 클래스 영역 인스턴스가 생성되었을 때 클래스 변수(class variable) 클래스가 메모리에 올라갈 떄 지역 변수(local variable).. 2022. 7. 1.
[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 1 (객체지향언어, 클래스와 객체) 객체지향언어의 역사 객체지향 이론은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물 간의 상호작용이다.'라는 기본 개념을 가진다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓는다는 이론이다. 객체지향 이론이 발달하면서 상속, 캡슐화, 추상화 개념이 생겨났고, 이들이 점차 구체적으로 발전하면서 객체지향 이론을 프로그래밍 언어에 적용한 객체지향 언어가 탄생하게 되었다. 객체지향 언어란? 객체지향 언어는 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 언어라 할 수 있다. 이러한 규칙들은 코드들 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성하는 것을 가능하게 한다. 객체지향.. 2022. 6. 30.