자바를 통해서 객체지향의 기본을 알려드리는 수업입니다. 클래스와 인스턴스는 왜 필요한지 너무 추상적인 생각이 드셨던 분들께 권해드립니다. 모든 수업은 아래 주소에 준비 되어 있습니다. opentutorials.... 다른 수업들은 전체 수업은 아래 주소에 있습니다. seomal.org/?i=...
메소드 안에서 정의된 변수는 그 메소드 안에서만 사용할 수 있다. 지역변수라고 부른다. 전역변수로 바꾸어 주면. 인자값으로 메소드를 호출 할 때 마다 바꾸어 주워야 해던 값들을 다시 넣지 않고. 전역에서 그 변수를 찾아 볼 것이므로 한번만 변수의 값을 바꾸어 주면된다. 하지만 이 방식으로 코드를 정리 하는 데에는 한계가 있다.
이미 String으로 delimiter이 선언이 되어 있고 5줄에는 선언과 동시에 "----"로 초기화를 했네요 11번째 줄은 선언이 되어있는 delimiter에 "****"값만 바꾸어 넣어준거에요 ex) int a = 1; >>> a == 1 a = 2; >>> a == 2
클래스는 print, floor같은 메소드와 변수들을 같은 느낌나는 것들끼리 묶어놓은거고 불러올때는 Class.Method로 불러온다. new를 통해 복제본을 만들면 그것이 instance가 된다. instance는 클래스의 복제본같은 것이다. 이것을 통해 동일한 클래스를 다른 방식으로 여러번 재활용가능하다.
영상 내에서 delimiter의 선언 위치가 달라지므로 어느 시점의 delimiter를 말하시는지 모르겠습니다. 6:46 의 main 메소드 밖에서 선언한 뒤에서는 main()의 delimiter와 printA(), printB()에서의 delimiter는 같은 변수를 가리킵니다. 고잉고잉님이 delimiter를 main() 밖으로 빼면서 기존의 delimiter 선언부의 String이라는 키워드를 삭제했습니다. 기존에는 main() 안에서 선언하였지만 main() 밖에서 static으로 선언하여 클래스의 소속이 되었습니다. 3주 전 댓글이라 제 답변이 도움이 될 수 있을지 모르겠네요.
printA() 의 매개변수 삭제하고 메소드의 변수 delimiter 를 myOOP class 의 static 지역변수로 참조할수있게 public static String delimiter =""; 를 만들고 main 메소드안에있는 delimiter 변수를 선언해서 public static String delimiter =""; 의 delimiter를 참조하도록 해서 둘다 클래스의 소속이 된거 아닌가요 ?
@@user-qv4ln8sx4z main 메소드 안의 String delimiter = "----"; 부분에서 String을 지우고 main 메소드 밖에서 public static String delimiter로 선언해주었습니다. main 메소드에서 선언된 변수를 밖에서 선언함으로써 클래스의 소속이 된 것이 아닌 main 메소드의 선언 부분을 밖으로 옮긴 것입니다. main에서는 밖에서 선언된 변수를 사용하는 것이죠.
@@dujin_park 아 그럼 저가 생각하고 있는게 두진님이랑 생각이 같은건가요...? String 을 main메소드랑 밑에있는 praintA메소드 에서도 삭제해서 satic 은 지역변수에 있는 변수를 참조할수있어서 public static String delimiter를 선언한게.,,,,,?