본문 바로가기

Java

(130)
[Java] String toString() String toString() : 객체(인스턴스)를 문자열로 출력시켜주는 메소드 단, 문자열로 형변환하는 것이 아니고 단순히 출력시 보여줄 문자열로 변경합니다. 모든 클래스에 toString()메소드를 오버라이딩해놓으면 유용하게 사용이 가능합니다.(권장사항) . . 예제 class MemberInfo // 한 명의 회원정보를 저정하기 위한 클래스 { private String uid, pwd, name; public MemberInfo(String uid, String pwd, String name){ this.uid = uid; this.pwd = pwd; this.name = name; } public String toString(){ // Object클래스의 메소드로 현재 오버라이딩 중 // 객체..
[Java] 간단한 로그인 프로그램 만들어보기 상속과 오버라이딩을 사용하여 간단한 로그인 프로그램을 만들어보자 클래스 이름들을 정의하면 MemberInfo : 한 명의 회원정보를 저장하기 위한 클래스이다. 기본정보로는 아이디(uid), 비밀번호(pwd), 이름(name)을 저장하고 get, set을 이용하여 각각의 변수들을 저장하거나 가져다 쓸 수 있다. MemberHandler : 로그인과 회원가입을 할 수 있게 메소드들을 저장한다. 로그인 부분에서 MemberLogin과 MemberLoginEx 두 가지를 만들어 봤습니다. import java.util.*; /* 1. 회원가입 2. 로그인 */ class MemberInfo // 한 명의 회원정보를 저정하기 위한 클래스 { private String uid, pwd, name; public Me..
[Java] 실습 - 전화번호부 만들기 - 2 앞서서 한 전화번호부에 친구찾기 기능을 추가해봤다. - 접근방법 처음에는 이름을 검색했을 때, 해당 친구 이름이 일치한가 확인하는 equals() 메소드를 사용하였다. 하지만 평소에 우리가 검색할 때는 전체 이름을 다 검색하지 않고 일부만 검색해도 나오는 상황을 많이 볼 수 있다. 정화깋 일치하지 않아도 찾을 수 있게 indexOf() 메소드를 사용한다. . .. import java.util.*; /* 주소록 프로그램- 친구전용 데이터 : 고교동창, 대학동창으로 구분지어 저장 - 클래스로 제작하며 친구의 정보를 저장하기 위한 용도의 클래스 관리P/G : 친구추가, 검색 등의 기능 - 데이터 저장용 클래스를 이용하여 기능을 구현 */ class Friend // 친구의 기본정보를 저장하는 클래스 { St..
[Java] 실습 - 전화번호부 만들기 - 1 상속과 오버라이딩을 이용하여 전화번호부 프로그램을 제작해봤습니다. 주소록 제작 조건은 주소록 프로그램 - 친구전용 데이터 : 고교동창, 대학동창으로 구분지어 저장 - 클래스로 제작하며 친구의 정보를 저장하기 위한 용도의 클래스 관리P/G : 친구추가, 검색 등의 기능 - 데이터 저장용 클래스를 이용하여 기능을 구현 . . 을 고려하여 코딩을 하였습니다 . . 예제1 import java.util.*; /* 주소록 프로그램- 친구전용 데이터 : 고교동창, 대학동창으로 구분지어 저장 - 클래스로 제작하며 친구의 정보를 저장하기 위한 용도의 클래스 관리P/G : 친구추가, 검색 등의 기능 - 데이터 저장용 클래스를 이용하여 기능을 구현 */ class Friend // 친구의 기본정보를 저장하는 클래스 { S..
[Java] InstanceOf 하위클래스 형변환 오버라이딩에서 선언된 클래스 인스턴스에 따라 접근할 수 있는 범위가 달랐다. 즉, 하위클래스 인스턴스에는 상위클래스 인스턴스가 접근할 수 있지만, 상위클래스 인스턴스에는 하위클래스 인스턴스가 접근할 수 없다. 그러면 오버라이딩 없이 상속받은 클래스들로 작업할 때는 무슨 일이 일어날까 class BasicBox { public void basicWrap(){ System.out.println("Basic Wrap"); } } class PaperBox extends BasicBox{ public void paperWrap(){ System.out.println("Paper Wrap"); } } class GoldBox extends PaperBox{ public void goldWrap(){ System...
[Java] 오버라이딩(overriding)과 오버로딩(overloading) 오버라이딩과 오버로딩은 비슷한 이름으로 많이 헷갈릴 수 있다. 오버라이딩은 상위클래스에 있는 메소드를 하위클래스에서 재선언하면서 하위클래스에 메소드가 작동하도록 하는 것이고 오버로딩은 같은 이름의 메소드들을 선언하여 받는 값에따라 해당 메소드를 불러내는 것을 의미한다. . . 예제 class Aa { void rideMethod(){ System.out.println("Aa Method"); } void loadMethod(){ System.out.println("void Method"); } } class Bb extends Aa { void rideMethod(){ System.out.println("Bb Method"); } void loadMethod(int n){ System.out.printl..
[Java] 오버라이딩(overriding) 오버라이딩(overriding) - 하위클래스에서 상위클래스의 메소드를 리턴타입까지 동일하게 선언한 후, 재정의 하는 것을 의미합니다. - 인스턴스 선언 시 상위클래스형으로 선언하면 모든 하위클래스로 생성이 가능합니다. 즉, 상위클래스형 인스턴스에는 하위클래스형 인스턴스가 들어갈 수 있습니다. 상위클래스형으로 선언된 인스턴스는 오직 상위클래스의 멤버에만 접근가능합니다. (생성된 하위클래스의 멤버에는 접근 불가) 단, 오버라이딩된 메소드는 하위클래스로 접근가능합니다. . . 예제 class Speaker { private int volume; public void showCurrentState(){ System.out.println("볼륨 크기 : " + volume); } public void setVo..
[Java] 상속 has-a관계 has-a관계 하위클래스 has a 상위클래스의 관계로 하위 클래스가 상위 클래스를 소유하는 개념입니다. 해석 : '하위클래스'가 '상위클래스'를 소유한다. has-a관계일 경우 상속을 받기도 합니다.(상속이 어울리지 않는 경우도 있습니다.) has-a관계에서 소유하지 않는 경우가 있으면 상속받지 않는 것이 좋습니다. is-a관계와 has-a관계 이외에는 상속을 하지 않는 것이 보통입니다.(안한다고 봐도 무방합니다.) . . 예제1 class Gun { int bullet; public Gun(int n){ bullet +=n; } public void shot(){ System.out.println("BBANG!!"); bullet--; } } class Police extends Gun { // Po..