객체지향 프로그래밍

web/JAVA & Spring

[OOP] 메서드 오버로딩(overloading)

오버로딩 오버로딩이란 한클래스 내에서 같은 이름의 메서드를 여러개 정의하는 것을 뜻한다. 같은 이름이라고 해서 무조껀 오버로딩은 아니고 다음과 같은 조건을 만족해야만 오버로딩으로 간주한다. 1. 메서드 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. 3. 반환 타입은 상관없다. 1번의 경우를 가장 잘 반영한건 println 메서드 이다. println또한 java의 라이브러리 중 하나로 만들어져 있었는데 이것이 오버로딩의 한 종류라고 볼 수 있다. 오버로딩이 성립되지 않는 경우 int result(int a, int b) {return a+b;} int result(int a, int b) {return a*b;} 위 경우는 반환타입이 다르지만 매개변수의 개수 및 타입이 같기에 오버..

web/JAVA & Spring

[OOP] 선언 위치에 따른 변수의 종류

객체지향 프로그래밍의 변수 종류는 3가지가 있다. 변수의 종류 선언위치 생성시기 멤버변수 O 클래스 변수 클래스 영역 클래스가 메모리에 올라갈때 인스턴스 변수 인스턴스가 생성되었을때 멤버변수 X 지역변수 클래스 영역 이외의 영역 변수 선언문이 수행되었을 때 출처 : 자바의 정석 멤버 변수 : class안에 선언된 클래스 변수와 인스턴스 변수를 통들어 멤버 변수라고 부른다. 1. 인스턴스 변수 : 클래스 영역에 선언되며 인스턴스를 생성할 때 만들어 진다. 인스턴스마다 별도의 저장공간을 가지므로 서로 다른 값을 가질 수 있다. 인스턴스마다 고유한 상태를 유지해야하는 속성의 경우 인스턴스 변수로 선언한다 (ex 회사의 회사원 이름) 2. 클래스 변수 : 인스턴스 변수에 static을 붙였을때 클래스 변수가 된..

3hoon
'객체지향 프로그래밍' 태그의 글 목록