JAVA 객체지향 프로그래밍

변수와 메소드

수업소개

클래스를 사용하기 전에 클래스가 없으면 불편한 점을 살펴보는 시간입니다.

 

 

 

강의

소스코드

MyOOP.java

class Print{
    public static String delimiter = "";
	public static void A() {
		System.out.println(delimiter);
		System.out.println("A");
		System.out.println("A");
	}
	public static void B() {
		System.out.println(delimiter);
		System.out.println("B");
		System.out.println("B");
	}
}
public class MyOOP {
	public static void main(String[] args) {
		Print.delimiter = "----";
		Print.A();
		Print.A();
		Print.B();
		Print.B();
		
		Print.delimiter = "****";
		Print.A();
		Print.A();
		Print.B();
		Print.B();
	}
}

 

 

댓글

댓글 본문
  1. nextLevel
  2. 당당
    2023.04.21
  3. labis98
    20230202 완료
  4. Min Jupiter
    23.01.17
  5. 자바뿌시기
    22.01.06 반복학습
  6. 보통사람 박코딩
    할수있다
  7. 코딩드림
    221104
  8. 꾸준히가답이다
    두번째로 보니 어느정도 이해가 되는 것 같아서 정리해봅니다.

    메서드의 목적은 코드를 깔끔하게 정리하고,간결하게 만드는 데 있습니다.
    하지만 이 메서드는 통용되는 것이 아닌, 선언해준 메서드내에서 사용이 가능하고, 해당 영상에서는
    main 메서드에서 사용되는 delimiter를 printA 메서드에서 delimiter로서 사용이 안되기 때문에

    이를 클래스 MyOOP에서 String delimiter로 변수를 선언하였습니다. 이로써, 각 메서드에서는 따로 delimiter를 선언하지 않았다면 전역적으로 delimiter를 활용하여 한꺼번에 정리가 가능해지게 된 것 입니다.
  9. 코리니
    912
  10. 제이드
    public static String delimiter = "";가 의아했는데
    위의 delimiter = "----";과 delimiter = "****";를 주석 처리 후
    public static String delimiter = "@@";라고 하니까
    @@
    A
    A
    @@
    A
    A
    @@
    B

    라고 나오는 걸 보니 대충 이해가 감
  11. economin
    수강완료
  12. 변수를 메인함수밖 클래스내에 선언함으로써
    그변수를 메인함수에서도, 메인함수밖클래스내에 선언한 메소드에서 동시에 사용가능해진다
  13. 코딩이취미다
    메쏘드와 메쏘드에서 사용되는 변수는 클래스로 묶어라....
  14. 육도
    2022.05.14 완료
  15. 민영
    변수의 범위
  16. 열정jk
    220220 감사합니다
  17. 나연
    2022년 2월 14일 (월) 완료

    유효 범위
  18. 김보노
    22-01-26
  19. 구야!
    아 그니깐 반복되고 중복 되는 걸 메소드로 만들고
    위로 옮기고 밑에 옮기고 해가꼬 그래 한단말이네

    근데 애초에 그래하면 될 거 왜 자꾸 왔다갔다하는기지... 하
  20. 주간식당메뉴
    21.11.11.
  21. 2021.09.02 완료
  22. 이마누
    완료
  23. labis98
    20210813 good!!!
  24. super1Nova
    210807
  25. Jaemin Lim
    21.07.25
  26. 초딩 개발자
    2021/06/26
  27. 05.02 Method & Variable

    중복선언을 피하고
    그 성격이 같은 것들끼리 묶어서 코드를 짠다
  28. jeisyoon
    2021.05.02 Method & Variable - OK

    반복되는 연관 코드를 Method로 만들고 지역변수(Local Variable)를 전역변수(Public Variable)로 만들어
    프로그램을 간결하고 가독성이 높게 만듬.
  29. 돌이크다
    전역변수로 선언하면 일일히 메소드안에 인자값을 주지 않아도 된다.
  30. anya422
    done!
  31. 이현수
    2021.04.17
  32. 레이
    21.04.14
  33. chimhyangmoo
    21.04.09
  34. 김우중
    감사합니다
  35. boat
    감사합니다!
  36. oyuiw
    20201213
  37. 제예솔
    이고잉님 강의가 최고에요!
  38. 안광민
    method 안에서 정의된 변수는 그 method 안에서만 쓸 수 있다. 유효범위가 있기 때문이다.

    완료
  39. 싱와
    수많은 상상의 변수와 메소드들을 통해 클래스가 왜 필요하게 된건지 빌드업 하는 단계.

    수많은 비슷/동일한 성격의 메소드들의 일부를 바꾸고 싶을때, 일일히 하나씩 다 바꾸어야 한다면?
    그런데 그 메소드들이 1억개라면? 상상도 하기 싫을것.
    그럴때, 전역 변수를 설정하여 해결한다면 좀더 편하게 할 수 있겠지.


    그런데, 다른 성격의 1억줄을 가지고 있는 메소드들이 밑에 더 많다면..? 이건 어떻게 해야하나?
    그래서 클래스가 나왔다!
  40. 이정왓
    delimiter 라는 매개변수는 printA와 printB에 사용되는데, 매개변수를 메소드 안에 정의한다면 번거롭고 유지보수가 힘드니 MyOOP라는 클래스의 public static String으로 변수를 선언한다면 메소드보다 상위에 있는 매개변수가 되므로 유효범위가 더 넓어지게된다. (영상)

    소스코드를 보니 영상에서보다 더 효율적으로 정리가 되어있는데 , Print라는 클래스를 생성하여 Print클래스 소속 변수인 delimiter를 String 타입으로 선언하고 A와 B로 나눠 클래스 안의 메소드를 형성했다. 그리고 메인 메소드 안에서는 Print.A Print.B Print.delimiter를 입력하는 등 Print소속 메소드와 변수를 불러옴으로써 코드를 깔끔하게 줄였다.
  41. hyuna lee
    감사합니다. 이상하게 유투브에서도 들었는데, 요기서 듣는게 더 편안히 집중이 잘돼요.
  42. 넘무
    결과적으로 main 메소드가 가장 늦게 실행되는 것인가요?
  43. yyrr
    2020.03.15 완료
  44. juni
    감사 합니다...
  45. Serina
    신기하네요. 지지난주에 한번 보고 이해안되어서 강의 계속 안보고 있다가 오늘 다시 보니까 이해가 되네요.ㅋㅋㅋ신기해요
  46. 라또마니
    감사합니다.
  47. 이기호
    감사합니다^^
  48. 쑤우
    수강완료. 감사합니다~
  49. 찰느
    이해가 너무 잘돼요!
  50. 허공
    감사합니다!
graphittie 자세히 보기