Java/Java 인강

Java 인강 필기 5

code2772 2022. 10. 2. 10:59
728x90
반응형
(22.7.30)

# 17강 메서드

​

메서드란 - 여러 명령들의 나열된 묶음 입력 값을 받아서 내부에서 처리 후

결과를 출력 반환하는 역할, 클래스 내부에서 생성

​

메서드의 사용목적

​

메서드의 사용

​

매개변수 - 함수의 호출부에서 구현부로 전달할 값을 저장할 공간

​

return 값 - 함수에 구현된 모든 명령 실행 후, 함수가 갖게 될 결과 값

​

void ->리턴값이 존재하지 않을 때

​

package day17;

​

public class Day17_1 {

​

public static void main(String[] args) {

open();

f1(100);

}

static void open() {

static int f1(int x) {

System.out.println("x : "+x);

}

}

​

}

​

package day17;

​

public class Day17_2 {

​

public static void main(String[] args) {

System.out.println(f());

}

static int f() {

System.out.println("f() 호출!");

return 100;

​

}

}

​

package day17;

​

public class Day17_3 {

​

public static void main(String[] args) {

System.out.println("사각형 넓이"+calculator(10,20));

}

static int calculator(int a, int b) {//a.b에 가각10, 20들어감

int area = a*b;

return area;

}

​

}

​

​

# 18강 메서드 오버로딩

​

오버로딩은 매개변수의 개수와 타입은 다르지만 이름이 같은 메서드를

여러 개 정의하는 것

​

- 오버로딩(중복 정의) : 메서드 중복정의 // 로딩(메모리 적재)

- 일반적으로 메서드 사용시, 메서드명을 구분하여 사용

- 하지만, 같은 기능을 갖고 있는 메서드라면, 매번 이름 정의하는 것이 불필요

​

package day18;

​

public class Day1801 {

​

public static void main(String[] args) {

sum(10,20);

sum_double(1.23,3.12);

sum(10,20,30);

}

//메서드의 매개변수 타입에 변화

static void sum(int x,int y) {

System.out.println(x+y);

}

static void sum_double(double x,double y) {

System.out.println(x+y);

}

//메서드의 매개변수 타입에 변환

static void sum(int x,int y, int z) {

System.out.println(x+y+z);

}

}

​

package day18;

//두수를 전달받아 사칙연산 (단 정수, 실수 모두 가능)

public class Day1802 {

​

public static void main(String[] args) {

​

System.out.println(+sum(10,20));

System.out.println(+sub(10,20));

System.out.println(+mul(10,20));

System.out.println(+div(10,20));//정수형

}

​

//정수형 - 실수 모두 같은 방식으로 처리하면 문제없다.

static int sum(int x, int y) {

return x+y;

}

static int sub(int x, int y) {

return x-y;

}

static int mul(int x, int y) {

return x*y;

}

static int div(int x, int y) {//정수형

return x/y;

}

}

​

​

# 19강 객체지향 언어

​

객체지향 언어

객체지향 언어란, 현실에서 존재하는 사물과 개념들을 소프트웨어적으로 구현하고,

그 구현된 객체들이 상호작용하여 데이터를 처리하는 방식

​

//객체 - 독립적으로 존재할 수 있는 것

EX) 고양이, 강아지

EX) 고양이 꼬리, 강아지 꼬리 - > 혼자 존재 가능한가? 불가능!

​

객체지향 언어 목적 - 코드의 재사용!

- 코드를 객체화 하여 독립적으로 존재할 수 있도록

​

//절차지향 언어 - 명령을 순서대로 처리하는 방식

​

객체지향 언어 특징

​

- 추상화 - 공통적인 특징을 모아 놓은 것

​

- 상속 - 부모의 것을 자식이 받아오는 것

​

- 캡슐화 - 사용하는 사람은 기능만 알면 된다. 안에 무엇이 있는지 알 필요 없다.

​

- 다형성 - 같은 모양을 갖고 있으나 다른 의미를 갖고 있는 것

// 오버로딩 - 함수의 중복정의, 오버라이딩 - 함수의 재정의

​

​

​

# 20강 클래스에 대하여 - 클래스와 객체

​

클래스란 - 객체를 만들기 위한 설계도

​

인스턴스 - 클래스를 통해 만들어진 형태 -> 객체를 만드는 과정

​

클래스의 사용

클래스로 객체 값을 만즐 메모리를 할당, 객체 값을 생성 후 변수에 저장

​

참조변수 - 주소를 저장하는 변수

​

​

클래스로 여러 객체 만들기

-클래스는 객체를 만드는 틀이므로, 여러 개의 값을 만들 수 있다.

​

package day20;

​

public class Day2001 {

​

public static void main(String[] args) {

//변수 = 객체값

//클래스명 참조변수 = new 클래스명();

ClassA ca = new ClassA();

System.out.println(ca.x);

ca.f1();

​

ca.x=30;

System.out.println(ca.x);

​

}

​

}

​

class ClassA{

//메인이 없는

int x = 10;

void f1() {

System.out.println("f1()");

​

}

​

}

​

​

package day20;

​

public class Day2002 {

​

public static void main(String[] args) {

Car mycar=new Car();

System.out.println("시동 처음 초기화"+mycar.powerOn);

System.out.println("시동 처음 초기화"+mycar.powerOn);

System.out.println("시동 처음 초기화"+mycar.powerOn);

System.out.println("시동 처음 초기화"+mycar.powerOn);

System.out.println("시동 처음 초기화"+mycar.powerOn);

​

mycar.power();

System.out.println();

}

​

class Car{

boolean powerOn;

String color;

int wheel;

int speed;

boolean wiperOn;

​

void power() {

powerOn=!powerOn;

}

void speedUp() {

speed++;

}

void speedDown() {

speed--;

}

void wiper() {

wiperOn=!wiperOn;

}

​

}

​

}
반응형

'Java > Java 인강' 카테고리의 다른 글

Java 인강 필기 7  (0) 2022.10.02
Java 인강 필기 6  (0) 2022.10.02
Java 인강 필기 4  (0) 2022.10.02
Java 인강 필기 3  (0) 2022.10.02
Java 인강 필기 2  (0) 2022.10.02