코드 package Day11; public class MethodTest { //1. 주고 받고 static String printHello(String name) { return "안녕하세요"+name+"님"; } //2. 주고 안받고 static int sum() { int a = 10; int b = 20; return a + b; } //3. 안주고 받고 static void outputName(String name) { System.out.println("안녕하세요"+name+"님"); } //4. 안주고 안받고 static void printBye() { System.out.println("바이~~~~~"); } public static void main(String[] args) { // ..
package Day11; import java.util.Scanner; public class Q4 { static int a = 0; static int b = 0; static double a1 = 0; static double b1 = 0; static String operator; static int add(int a, int b) { return a+b; } static int multiple() { return a*b; } static void substract(int a, int b) { System.out.println(a-b); } static void divide() { if (b == 0) { System.out.println("0으로 나눌 수 없습니다."); } else { Sys..
메서드의 입력값과 리턴값 메서드는 들어온 입력값을 가지고 어떤 처리를 하여 적절한 리턴값을 돌려주는 블랙박스와 같다. 입력값 ---> 메서드(블랙박스) ----> 리턴값 메서드의 구조 자바의 메서드 구조는 아래와 같다. 리턴자료형 메서드명(입력자료형1 매개변수1, 입력자료형2 매개변수2, ...) { ... return 리턴값; // 리턴자료형이 void 인 경우에는 return 문이 필요없다. } 리턴자료형은 메서드 수행 후 돌려줄 값의 자료형을 의미한다. 메서드의 리턴값은 return 이라는 명령을 사용한다. 메서드는 입출력 유무에 따라 다음과 같이 4가지로 분류할 수 있다. 입력과 출력이 모두 있는 메서드 입력과 출력이 모두 없는 메서드 입력은 없고 출력은 있는 메서드 입력은 있고 출력은 없는 메서..
다른 프로그래밍 언어에는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다. 메소드란? 자바는 이러한 클래스 내의 함수를 메서드라고 부른다. 믹서기 비유 * 믹서기에 과일을 넣는다. * 그리고 믹서를 이용해서 과일을 갈아서 과일 쥬스를 만들어 낸다. * 우리가 믹서기에 넣는 과일은 입력이 되고 과일 쥬스는 그 출력(리턴값)이 된다. 입력을 가지고 어떤 일을 수행한 다음에 결과물을 내어놓는 것 메소드 사용 이유 가끔 프로그래밍을 하다 보면 똑같은 내용을 자신이 반복해서 적고 있는 것을 발견할 때가 있다. 이 때가 바로 메서드가 필요한 때이다. 여러 번 반복해서 사용된다는 것은 언제고 또다시 사용할 만한 가..
객체 변수는 공유되지 않는다. main 메서드 변경 class Animal { String name; public void setName(String name) { this.name = name; } } public class Sample { public static void main(String[] args) { Animal cat = new Animal(); cat.setName("boby"); Animal dog = new Animal(); dog.setName("happy"); } } cat객체에는 "boby"라는 이름을 대입하고 dog객체에는 "happy"라는 이름을 대입했다. 이렇게 하면 setName 메서드에 의해 다음과 같은 문장이 두번 실행될 것이다 cat.name = "boby"; do..
이제 객체 변수에 값을 대입하는 방법에 대해서 알아보자. 객체 변수에 값을 대입하는 방법에는 여러가지가 있지만 여기서는 가장 보편적인 메서드를 이용하는 방법에 대해서 알아보자. 클래스에는 객체 변수와 더불어 메서드(Method)라는 것이 있다. 메서드는 클래스 내에 구현된 함수를 의미하는데 보통 함수라고 말하지 않고 메서드라고 말한다. 메서드 추가하기 class Animal { String name; public void setName(String name) { this.name = name; } } public class Sample { public static void main(String[] args) { Animal cat = new Animal(); System.out.println(cat.na..
객체와 인스턴스 클래스에 의해서 만들어진 객체를 인스턴스라고도 한다. 그렇다면 객체와 인스턴스의 차이는 무엇일까? Animal cat = new Animal() 이렇게 만들어진 cat은 객체이다. 그리고 cat이라는 객체는 Animal의 인스턴스(instance) 이다. 인스턴스라는 말은 특정 객체(cat)가 어떤 클래스(Animal)의 객체인지를 관계위주로 설명할 때 사용된다. 즉, "cat은 인스턴스" 보다는 "cat은 객체"라는 표현이 "cat은 Animal의 객체" 보다는 "cat은 Animal의 인스턴스" 라는 표현이 훨씬 잘 어울린다. class Animal { } public class Sample { public static void main(String[] args) { Animal ca..
객체 지향 프로그래밍이란? 계산기 만들기 class Calculator { static int result = 0; static int add(int num) { result += num; return result; } } public class Sample { public static void main(String[] args) { System.out.println(Calculator.add(3)); System.out.println(Calculator.add(4)); } } 실행 흐름 클래스 Cal 가 실행된다. Cal 클래스의 main 메서드가 호출된다. Calculator.add(3) 이 호출된다. add 메서드에서 result 변수에 3이 더해진다. result 변수는 현재 3이다. result..