본문 바로가기

[자바 기본기] 3. 메서드 오버로딩 3.1 메서드 오버로딩이란?자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 이처럼,한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩 또는 간단히 오버로딩이라 한다. 3.2 오버로딩의 조건 - 메서드 이름이 같아야 한다. - 매개변수의 개수 또는 타입이 달라야 한다. - 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성림되지 않는다. (리턴타입은 오버로딩 구현에 아무런 영향을 주지 못한다.) 3.3 오버로딩을 하는 이유는? - 기억하기도 쉽고, 이름도 짧게 할 수 있어서 오류의 가능성을 많이 줄일 수 있다. - 메서드의 이름만 보고도 ' 이 메서들은 이름..
[자바 기본기] 2. 변수와 메서드(2) 지난 포스팅에 이어 메서드 관련 내용을 정리한다. 2.3 메서드정의 메서드는 어떤 작업을 수행하기 위한 명령문의 집합이다. 주로 어떤 값을 입력받아서 처리하고 그 결과를 돌려준다. 경우에 따라서는 입력받는 값이 없을 수도 있고(void), 결과를 반환하지 않을 수도 있다. 장점 반복적인 코드를 줄이고 코드를 한 곳에서만 관리하면 되므로 유지보수가 편리 작성지침 - 하나의 메서드는 한 가지 기능만 수행하도록 작성하는 것이 좋다. - 반복적으로 수행되어야 하는 여러 문장을 하나의 메서드로 정의해 놓으면 좋다. - 관련된 여려 문장을 하나의 메서드로 만들어 놓는 것이 좋다. 작성방법 메서드는 위의 그림과 같이 선언분와 구현부로 나눌 수 있다. 선언부에는 리턴타입, 메서드 이름, 그리고 괄호()안에 매개변수를 ..
[자바 기본기] 2. 변수와 메서드(1) 2. 변수와 메서드2.1 변수의 종류자바에서 변수는 크게 멤버변수와 지역변수로 나눌 수 있으며, 선언 위치에 따라 클래스 변수, 인스턴스 변수, 지역변수로 분류된다. 멤버 변수 중 static이 붙은 것은 클래스 변수, 붙지 않은 것은 인스턴스 변 수이다. 다음 그림과 같이 나타낼 수 있다. * 변수별 생성시기 - 클래스 변수 : 클래스가 메모리에 올라갈 때 - 인스턴스 변수 : 인스턴스가 생성 되었을 때 - 지역 변수 : 변수 선언문이 수행 되었을 때 cf. 클래스 변수는 인스턴스를 생성하지 않고도 언제라도 바로 사용할 수 있는 특징이 있으며, '클래스 이름.클래스 변수' 와 같은 형식으 로 사용한다. ex ) Variables.cv 2.2 클래스 변수와 인스턴스 변수의 차이 클래수 변수와 인스턴스 변..
[자바 기본기] 1. 클래스와 객체 1. 클래스와 객체1.1 클래스와 객체의 정의 및 용도ⓐ 클래스 - 정의 : 클래스란 객체를 정의해 놓은 것이다. - 용도 : 클래스는 객체를 생성하는데 사용된다. ⓑ 객체 - 정의 : 실제로 존재하는 것, 사물 또는 개념 - 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 ▶ 클래스는 단지 객체를 생성하는데 사용될 뿐, 객체 그 자체는 아니다. 객체를 사용하기 위해서는 먼저 클래스로부터 객체를 생성하는 과정이 선행되어야 한다. 1.2 객체와 인스턴스 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있으며, 인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 갖고 있다. 1.3 객체의 구성요소 - 속성과 기능 객체는 속성과 기능, 두 종류의 구성요소로 이루어져 있으며,..
연습문제 - equls 메소드 구현 class Exercise9_1 {public static void main(String[] args){SutdaCard c1 = new SutdaCard(3, true);SutdaCard c2 = new SutdaCard(3, true);System.out.println("c1 = " + c1);System.out.println("c2 = " + c2);System.out.println("c1.equls(c2) = " + c1.equals(c2));} } class SutdaCard{int num;boolean isKwang;SutdaCard(){this(1, true);} SutdaCard(int num, boolean isKwang){this.num = num;this.isKwang = isKwan..
데이터 바인딩의 개념 및 특징 데이터 바인딩이란? - 한줄 정리 : 데이터와 사용자 UI를 연결하는 것 데이터 바인딩이 이루어지기 위해서는 저장 장소에 저장된 데이터를 읽어오는 역할을 수행하는 객체가 필요한데, 이를 데이터 원본(Data Source)라고 한다. 데이터 바인딩이란 무엇인가? .NET 2.0 에서 추가된 기능이다. 컨트롤(Control)의 프로퍼티와 내가 지정한 객체의 프로퍼티를 연결 해준다. - 즉, 컨트롤의 프로퍼티가 변경되면, 내 객체의 프로퍼티도 변경되고, 그 반대도 된다. 주의 해야 할 건, "Property 와 Property"의 연결이라는 것을 알아야 한다., 그래서, 데이터 바인딩은 어떤 일을 할 수 있는가? 하나의 값으로 여러개의 컨트롤 정보(프로퍼티)를 변경 할 수 있다. 화면에 출력되는 컨트롤 말고도..
StringBuffer 인스턴스의 비교 Stringbuffer 는 String으로 변환한 후 비교해야 한다. public class SBEx1 {public static void main(String[] args){StringBuffer sb = new StringBuffer();StringBuffer sb2 = new StringBuffer();if(sb == sb2){System.out.println("sb == sb2 ? true");}else{System.out.println("sb == sb2 ? false");}if(sb.equals(sb2)){System.out.println("sb.equals(sb2) ? true");}else{System.out.println("sb.equals(sb2) ? false");}String s =..
문자열 추출 기본 예제 public class StringEx9 {public static void main(String[] args){String fullName = "Hello.java";// fullName에서 . 의 위치를 찾는다.int index = fullName.indexOf('.');// fullName의 첫번째 글자부터 . 이 있는 곳까지 문자열을 추출한다.String fileName = fullName.substring(0, index);// . 의 다음 문자부터 시작해서 문자열의 끝까지 추출한다.String ext = fullName.substring(index+1); System.out.println(fullName + "의 확장자를 제외한 이름은 " + fileName); System.out.printl..