JAVA/JAVA 실습

[JAVA] : 클래스|객체 생성|메서드 오버로딩 실습

juunghee 2025. 2. 27. 00:21

 

 

 

 

1. 유저의 이름, 나이, 전화번호 저장해서 출력하기

 

총 2개의 클래스

User : 유저의 정보를 저장할 클래스

UserTest : 메인 클래스

 

User 클래스에는 name, age, phone 3개의 멤버변수가 있다.

 

 

 

객체 생성을 해서 홍길동, 김나나에 대한 정보를 각각 u1, u2에 저장

 

아래처럼 출력할 수 있게 print 함수 만들기

 

User 클래스에서 만든다!

 

다시 돌아와서 메서드 호출해보면

원하는대로 나왔다!

 

 

 

위에서 만들었던 함수는 그냥 호출만해서 사용하면 됐지만,

함수에 파라미터를 정해줄 수도 있다.

이때 파라미터를 정해놓으면 호출할 때 무조건 함수안에 내용을 입력해줘야한다.

 

User 클래스에 say라는 함수를 만들고

이 함수를 호출할 때 내용을 작성하면 이름 뒤에 그 내용이 나오도록 해보자.

 

이제 메인클래스에서 함수를 호출한건데, 위에서 파라미터를 정해줬기 때문에 꼭 그에 맞게 호출해줘야된다.

안그러면 아래처럼 에러가 뜬다. 1개의 인수가 필요하지만 0이 발견되었습니다라고 친절하게 알려줌.

그리고 문자열을 써야된다고도 알려줌!!

 

안녕?, 반가워요 라고 입력하고 실행해보면

name님 안녕?

name님 반가워요 라고 잘 나온다!

 

 

 

 

2. 책의 정보, 책을 쓴 작가의 정보 저장하고 출력하기

 

총 3개의 클래스

Author, Book, BookTest

 

 

Mike, 홍길동 작가의 정보 저장 (이름, 이메일, 전화번호)

 

책 정보와, 책을 쓴 작가의 정보 저장

Author 클래스는 작가의 정보가 있는 클래스인데

Book 클래스에는 Author이라는 멤버변수가 있다.

b1에 작가 정보를 Author 객체를 생성해서

아래처럼 b1이라는 책의 작가 정보를 저장할 수 있다(name, email, phone)

 

 

이제 정보를 저장했으니 책의 제목, 설명, 가격을 화면에 출력해보자.

출력할 때마다 타이핑하기 번거로우니 Book 클래스에서 책의 정보를 출력해주는 함수 생성

 

메인 클래스에서 b3.print() 를 하면 b3의 책 정보가 출력이 된다.

 

 

작가명도 나오게 하고싶다면 아래처럼 추가해주면 되는데

 

 

작가명은 Author에서 관리하는거기 때문에 Author 클래스에서 함수를 만들어준다.

 

그 다음에 Book 클래스로 돌아와서 author안에서 만든 작가명이 나오게 하는 print함수()를 입력해주면 된다.

 

다시 메인클래스로 돌아와서 b1.print() 해주면 제목, 설명, 가격, 작가명이 출력 된다.

 

 

 

 

메서드 오버로딩(method overloading)

=>  파라미터도 다르고, 리턴타입도 다른데 함수 이름을 다 똑같이 써도 되는 것

 

 

 

 

 

 

아래처럼 함수 이름은 같은데 파라미터는 다르게 해서 사용 가능하다 이게 메서드 오버로딩이다!

 

 

 

 

home