해외에서 50 가까운 나이에 IT 개발자로 취업하고자 강의를 듣고 있습니다 어떤 부분들은 잘 이해되지 않아 여러번 듣기도 하지만 이렇게 좋은 강의를 무료로 듣게 해주셔서 정말 감사하다는 말을 전해드립니다 영어로도 되어 있다면 어떤 훌륭한 강의 못지 않게 더 유명해질 것 같아 그 점이 안타깝습니다 Static을 제대로 알지못하고 객체 생성없이 다른 클래스에서 쉽게 불러오도록 남발했던 것이 부끄럽네요ㅎ 자바의 정석을 통해 삶의 정석을 만들어가고 있습니다 감사합니다
static 메서드를 단순히 객체생성 없이 호출할수있다 정도만 알고있었는데 인스턴스 변수를 사용하지 않을때 static을 붙여라 ... 객체가 생성되지않으면 인스턴스 변수가 생성되지않으니 결국 static 메서드 내에서도 사용하지 못할것이고 그렇기때매 static메서드이군요... 너무 명강의십니다
메서드를 정의할 때는 "객체를 생성하지 않고도 클래스명만으로 호출해도 이 메서드를 쓰게 해야겠다" 싶을 때는 해당 메서드 앞에 static 키워드를 붙인다. 그 대신에, 객체 생성 없이도 쓸 수 있어야 하므로 구현 로직에 인스턴스 변수를 담아서는 안 된다. 왜냐하면 인스턴스 변수는 인스턴스를 생성하기 전까진 실제로는 존재하지 않기 때문이다.
2회 시청 인스턴스 메서드 앞에 static이 붙으면 static 메서드. 인스턴스 메서드와 static 메서드의 가장 큰 차이는 인스턴스 변수 사용 여부.(인스턴스 메서드는 객체 생성 필수, static 메서드는 객체 생성 없이 호출 가능) => 인스턴스 메서드는 인스턴스 멤버를 사용한 작업을 하기 때문에 인스턴스 변수의 묶음인 객체(인스턴스) 생성이 필수적임. static 메서드는 객체 생성이 필요하지 않기 때문에 static 메서드가 호출됐을 때 객체 생성 여부를 알 수 없어서 인스턴스 멤버 사용 불가. static 메서드는 항상 호출 가능, 인스턴스 메서드는 static 메서드에서 호출 불가. 이유는 항상 같음(static 메서드는 객체 생성 필요 없고, 인스턴스 메서드는 객체 생성이 필수이기 때문) 그럼 static은 언제 붙일까? 1. 속성 중에 공통 속성에(클래스 변수) 2. 인스턴스 멤버를 사용하지 않는 메서드에(static 메서드)
모든 메서드의 공통속성일 때 static을 붙이는 것이 아니라, 인스턴스 변수를 사용하지 않을 때 static을 붙인다. 인스턴스 메서드는 객체를 생성해야 사용할 수 있는 메서드이다. 인스턴스 메서드는 static 메서드를 호출할 수 있지만, static 메서드는 인스턴스 메서드를 호출할 수 없다. why? 호출 시 객체가 없을 수 있어서.
헐 static 변수, 메서드 객체 생성없이 클래스로 바로 접근할 수 있다는건 알고 있었는데.. 어떤 경우에 쓰는지는 잘 몰랐는데 한번에 이해했어요!! static 변수는 공통적인 속성일때, static 메서드는 인스턴스 속성을 사용하지 않을 때!! 진짜 강의 너무너무 감사합니다ㅠㅠ 복 많이 받으세요!!:)
static메서드 -메서드 앞에 static이 붙어있는 메서드 -객체생성 하지않고 '클래스이름.메서드이름()' 으로 호출 대표적인 예가 Math.random(), Math.round() -인스턴스멤버와 관련없는 작업하는 메서드. 메서드 내 iv사용불가 -static은 속성(멤버변수) 중에서 공통 속성에 static을 붙임 인스턴스메서드 -static이 붙지 않은 메서드 -인스턴스 생성 뒤 '참조변수.메서드이름()' 으로 호출 -인스턴스멤버(iv, im) 관련작업을 하는 메서드. 특히 iv! -메서드 내에서 iv 사용가능 -메서드 내 변수는 가까운 쪽의 변수가 lv냐 iv냐에 따라서 가까운 쪽의 변수와 같다. (가까운 쪽의 변수가 iv면 메서드 내의 변수도 iv고, lv면 메서드 내 변수도 lv다) -메서드 내 iv를 사용하게되면 매개변수는 입력할 필요가 없다. -객체는 뭐다? iv묶음이다!!!!!!!! 메서드 간의 호출과 참조 -cv(클래스변수) : 언제나 사용가능 -iv(인스턴스변수) : 객체 생성 후 사용가능 인스턴스메서드 -iv, cv 사용가능 static메서드 -iv사용불가. cv는 항상 사용가능 -인스턴스메서드도 사용불가
좋은 강의 감사드립니다. 궁금한게 있는데 static으로 메서드로 작성하는 이유가 뭔지 궁금합니다. 인스턴스 멤버를 사용하지 않을때 static을 붙이는데 왜 굳이 static을 붙여서 사용하는지 궁금합니다. '단지 객체생성하지 않고 사용하기 위해' 이게 답인지 아니면 다른 이유가 또 있는지 궁금합니다.
강의 정말 너무 잘 듣고 있습니다., ! 정말 이해가 안되는데 질문한번만 드려도 될까요?!! 예제 6_4번 설명하실때 class MyMath { long add(long a, long b) { long result = a + b; return result; 이렇게 설명을 하셧는데 여기서는 a,b 가 iv로 앞서 선언되지 않았으니 long a , longb는 매개변수로써 지역변수로 봐도 되는건가요? 그렇다면 앞선 강의에서 class MyMath { static long add(long a, long b) { long result = a + b; return result; 가 되어야 되는것 아닌가요? 그래서 static메서드로 본다음 main메서드에서 객체생성을 안하고 참조변수도 안만들고 바로 메서드 호출을 할수있다. 제가 생각하고 있는 부분이 틀린부분이 있나요?. MyMath mm = new MyMath(); long result1 = mm.add(5L, 3L); System.out.println("add(5L, 3L) = " + result1); System.out.println(MyMath.add(5L,3L)); 이런식으로요! 오류가 나네요 방법이 잘못된건지,, 인스턴스 메서드는 lv(매개변수)와iv를 모두 사용할수있고 스태틱 메서드는 lv만 사용할수있다. 라고 정리해도 될까요?
3회 시청완료 - 인스턴스 변수를 사용하지 않으면 static을 붙일 수 있음 - static 메서드가 수행될 때 객체가 생성되었는지 알 수 없기 때문에 인스턴스 변수와 메서드를 사용할 수 없음 - static 메서드는 static 메서드를 호출 할 수 있음 - 인스턴스 메서드는 static 메서드를 호출할 수 있음
결론: static 메서드는 인스턴스 변수, 인스턴스 메서드를 사용, 호출 할 수 없다. static 메서드? static이 붙은 메서드. 객체(인스턴스) 생성 없이 클래스이름. static메서드이름 으로 접근 가능 이유? static 메서드 내에서 인스턴스 멤버를 전혀 사용하지 않기 때문. 이는 생성시기와 관련있음(static메서드를 사용할 당시에 인스턴스 멤버의 생성 여부를 알 수 없음) 그럼 static은 언제 붙여야 할까? 1. 공통적인 속성(멤버 변수) 2. 인스턴스 멤버(인스턴스 변수 & 인스턴스 메서드)를 사용하지 않는 메서드 인스턴스 메서드: 인스턴스 변수를 사용하는 메서드. +) 객체: iv 묶음 메서드: 명령문 묶음
1. static메소드 ? 객체 생성없이 호출가능 2. 언제 static메소드 사용? iv(인스턴스 변수)를 사용하지 않을때 3. static메소드: 인스턴스멤버(iv, im) 사용 불가 --> im(인스턴스 메소드) 에서 iv사용하기때문에 필요한 변수는 지역변수(lv)를 사용해서 해결
비전공자에 컴퓨터 언어 자체를 아예 처음 접해보는데 설명을 너무 깔끔하게 잘해주세요! 이론에서 더 나아가 예시로 설명해주시니까 이렇게 적용되는구나, 이런 원리구나 이해도 잘되구 공부하는게 즐거워요!! 효자손으로 등 긁어주는 기분ㅋㅋㅋ 시원한 강의 감사합니다!! 열심히 달려볼게요!!
- 인스턴스 메서드 : * 인스턴스 생성 후 참조변수.메서드() 방식으로 호출 * 인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드 * 메서드 내에서 iv사용가능 - static(class) 메서드 : * 객체 생성없이 클래스이름.메서드이름() * 인스턴스 멤버(iv, im)와 관련없는 작업을 하는 메서드 * 메서드 내에서 iv 사용불가 - 메서드 간의 호출, 참조 : static메서드는 인스턴스 변수(iv)를 사용할 수 x
선생님 질문 있습니다! 1. 그럼 스태틱 메서드는 무조건 매개변수를 가져야하는건가요? 객체를 생성한 후 iv를 사용할 수 있게 되면 그 땜 매개변수가 필요없나요?? 2. 메인 메서드도 스태택 메서드인데, 같은 클래스에 있을 땐 스태틱메서드도 인스턴스메서드를 객체생성없이 사용가능한가요???
그 이전강의에서 Math.random() 에 대해서 0보다 크고 1보다 작은 임의수를 만드는 매서드라고 대략 이해했는데요 이번 강의를 듣고나니 조금더 헤깔리더라구요..이번강의에서 Math.random() 매서드가 클래스 매서드라고 말씀하셨는데요 ..여기에 Math 라는 클래스가 없는데도 아무곳이나 위와같이 사용되어지는 이유가 무엇인지 궁금해서요 ..
6장 처음부터 5번 6번 반복해서 보니깐 바로바로 이해가 되네요. 영상 볼때마다 항상 감사한 마음입니다..
하나하나 확실히 제 것으로 만들기 위해서 영상 하나를 하루이틀 보다보니깐, 진도는 느려도 확실히 암기할 수 있어서 좋아요.
혼자 이것저것 실험해볼때 static메서드가 제 마음대로 안 움직인다는 느낌이 있었는데 이걸 보고 나니 다 이해가 되네요. 정말 최고의 강의예요. 감사합니다.
분명 봤었던 강의고 아는 개념이라고 생각했는데 다시 들으니 제대로 몰랐단 생각이 드네요ㅠㅜ 복습합니다
다른 쉬운강의로 자바를 접한다면.. 결국 이 강의로 돌아올 수 밖에 없을거 같다는 생각이 듭니다..ㅎㅎ
그러면 다행이죠
진짜 명강의다. 학부때 배웠던 자바 수업보다 좋아요....따봉
static은 static만 가능!!
인스턴스는 전부다 가능!!
static메서드 호출시 객체가 없을수 있기 때문에 인스턴스 멤버 사용 x
해외에서 50 가까운 나이에 IT 개발자로 취업하고자 강의를 듣고 있습니다
어떤 부분들은 잘 이해되지 않아 여러번 듣기도 하지만
이렇게 좋은 강의를 무료로 듣게 해주셔서 정말 감사하다는 말을 전해드립니다
영어로도 되어 있다면 어떤 훌륭한 강의 못지 않게 더 유명해질 것 같아
그 점이 안타깝습니다
Static을 제대로 알지못하고 객체 생성없이 다른 클래스에서 쉽게 불러오도록 남발했던 것이 부끄럽네요ㅎ
자바의 정석을 통해 삶의 정석을 만들어가고 있습니다
감사합니다
static 메서드를 단순히 객체생성 없이 호출할수있다 정도만 알고있었는데 인스턴스 변수를 사용하지 않을때 static을 붙여라 ...
객체가 생성되지않으면 인스턴스 변수가 생성되지않으니 결국 static 메서드 내에서도 사용하지 못할것이고 그렇기때매 static메서드이군요... 너무 명강의십니다
이 내용은 현업자도 모르는 사람 은근 있겠네요.
명강의에 붕알을 탁! 치고 갑니다
이해 안가서 메소드편이랑, 인스턴스편 보고 오니까 이해가네요
기본 개념을 잡아두고 시청해야 이해가 갑니다!
반복만이 살길입니다
2회시청완료
사랑합니다 자바가 재밌어졌어요 감사합니다.
메서드를 정의할 때는 "객체를 생성하지 않고도 클래스명만으로 호출해도 이 메서드를 쓰게 해야겠다" 싶을 때는
해당 메서드 앞에 static 키워드를 붙인다. 그 대신에, 객체 생성 없이도 쓸 수 있어야 하므로 구현 로직에 인스턴스 변수를 담아서는 안 된다.
왜냐하면 인스턴스 변수는 인스턴스를 생성하기 전까진 실제로는 존재하지 않기 때문이다.
질문이 있습니다. 9:04 여기서 클래스 매서드 호출을 할 때 MyMath2클래스에 static 메소드가 있어서 클래스 이름인 MyMath2를 썼는데
MyMathTest2에 static메소드가 있으면 호출할 때 클래스 이름을 안 써줘도 되나요?
같은 클래스 내에서는 생략가능합니다
교수님 강의는 10번들어도 이해가 안되는데 이건 1번만 들어도 이해가 잘돼요 감사합니다
씨 ++ 처럼 메모리에 관한 애기는 없네요.
메소드 영역의 변수는 지역변수라고 배웠는데 인스턴스 메서드 영역 안에 있는 인스턴스 변수랑 개념이 뒤죽박죽 돼서 못넘어가고 있어요ㅜㅜㅜㅜ살려주세요...
변수가 어디에 선언되어 있는지를 잘보세요. 선언과 사용의 차이를 잘구분하시기 바랍니다.
2회 시청
인스턴스 메서드 앞에 static이 붙으면 static 메서드.
인스턴스 메서드와 static 메서드의 가장 큰 차이는 인스턴스 변수 사용 여부.(인스턴스 메서드는 객체 생성 필수, static 메서드는 객체 생성 없이 호출 가능)
=> 인스턴스 메서드는 인스턴스 멤버를 사용한 작업을 하기 때문에 인스턴스 변수의 묶음인 객체(인스턴스) 생성이 필수적임.
static 메서드는 객체 생성이 필요하지 않기 때문에 static 메서드가 호출됐을 때 객체 생성 여부를 알 수 없어서 인스턴스 멤버 사용 불가.
static 메서드는 항상 호출 가능, 인스턴스 메서드는 static 메서드에서 호출 불가.
이유는 항상 같음(static 메서드는 객체 생성 필요 없고, 인스턴스 메서드는 객체 생성이 필수이기 때문)
그럼 static은 언제 붙일까?
1. 속성 중에 공통 속성에(클래스 변수)
2. 인스턴스 멤버를 사용하지 않는 메서드에(static 메서드)
객체 들어가고 두통 생겼는데 이 강의를 보고 나았습니다,,, 초심자한테 최고의강의
모든 메서드의 공통속성일 때 static을 붙이는 것이 아니라, 인스턴스 변수를 사용하지 않을 때 static을 붙인다.
인스턴스 메서드는 객체를 생성해야 사용할 수 있는 메서드이다.
인스턴스 메서드는 static 메서드를 호출할 수 있지만,
static 메서드는 인스턴스 메서드를 호출할 수 없다.
why? 호출 시 객체가 없을 수 있어서.
2022/11/24 수강완료
쉽게 알려주는 다른 강의로 자바 개념을 공부하고 현업에 갔다가, 부족한 부분을 많이 깨닫고 선생님 강의로 복습하고 있습니다. 개념뿐만이 아니라 설계할 때 고려해야할 부분까지 알려주시니 너무 도움되네요!! 진작에 들을 걸 하는 생각도 듭니다 감사합니다
인스턴스 변수를 사용할지 사용안할지에 따라서 static을 붙이고 클래스메소드 / 인스턴스 메소드로 나뉜다
자바 배우려는 도중 static이 무엇인가 궁금해져서 이 강의 하나를 클릭하였다가 자바를 익혀버렸다... ㅎㄷㄷ
헐 static 변수, 메서드 객체 생성없이 클래스로 바로 접근할 수 있다는건 알고 있었는데.. 어떤 경우에 쓰는지는 잘 몰랐는데 한번에 이해했어요!!
static 변수는 공통적인 속성일때, static 메서드는 인스턴스 속성을 사용하지 않을 때!!
진짜 강의 너무너무 감사합니다ㅠㅠ 복 많이 받으세요!!:)
주위에 많은 소개부탁드립니다
@@MasterNKS ㅎㅎ 많이많이 추천하겠습니다! 명강의!
자바의 아버지 자버지..최고…
이런 강의가 무료라니..
static메서드
-메서드 앞에 static이 붙어있는 메서드
-객체생성 하지않고 '클래스이름.메서드이름()' 으로 호출
대표적인 예가 Math.random(), Math.round()
-인스턴스멤버와 관련없는 작업하는 메서드. 메서드 내 iv사용불가
-static은 속성(멤버변수) 중에서 공통 속성에 static을 붙임
인스턴스메서드
-static이 붙지 않은 메서드
-인스턴스 생성 뒤 '참조변수.메서드이름()' 으로 호출
-인스턴스멤버(iv, im) 관련작업을 하는 메서드. 특히 iv!
-메서드 내에서 iv 사용가능
-메서드 내 변수는 가까운 쪽의 변수가 lv냐 iv냐에 따라서 가까운 쪽의 변수와 같다.
(가까운 쪽의 변수가 iv면 메서드 내의 변수도 iv고, lv면 메서드 내 변수도 lv다)
-메서드 내 iv를 사용하게되면 매개변수는 입력할 필요가 없다.
-객체는 뭐다? iv묶음이다!!!!!!!!
메서드 간의 호출과 참조
-cv(클래스변수) : 언제나 사용가능
-iv(인스턴스변수) : 객체 생성 후 사용가능
인스턴스메서드
-iv, cv 사용가능
static메서드
-iv사용불가. cv는 항상 사용가능
-인스턴스메서드도 사용불가
static 관련 제대로 알게 되었습니다. 감사합니다.
1회 시청완료입니다
너무 어려웡
와 유료강의 보다 진짜.. 훨씬 이해가 빠르네요.
지금까지의 어떤 유료강의 보다 낫습니다. 주위에 많은 소개 부탁드립니다.
군더더기 없이 깔끔한 강의 감사합니다 best youtube channel🐶
4분 50초 쯤에 long a,b; 여기서 a와 b가 인스턴스 변수라고 하셨잖아요, 그런데 인스턴스 변수의 범위는 인스턴스 생성 후 아닌가요? 클래스 전체라고 보는 게 맞나요??
인스턴스 생성후 클래스 전체 범위에서 사용가능합니다
1.8 2회 수강
설명은 이해하는데 막상 이클립스 백지에 스스로 코딩짜는 연습하려니 막막하네요. 익숙해 질 때 까지 보고 해보고 하겠습니다.
매개변수를 기본형으로 하면 선언된 타입의 데이터 '값'을 읽는 것이고, 참조형으로 선언하면 기본형들(int, String, float등)의 '값'이 아니라 이 값들의 '주소'를 참조한다고 이해하면 되는건가요?
네
좋은 강의 감사드립니다. 궁금한게 있는데
static으로 메서드로 작성하는 이유가 뭔지 궁금합니다. 인스턴스 멤버를 사용하지 않을때 static을 붙이는데
왜 굳이 static을 붙여서 사용하는지 궁금합니다.
'단지 객체생성하지 않고 사용하기 위해' 이게 답인지 아니면 다른 이유가 또 있는지 궁금합니다.
main메서드를 생각해보세요. static이죠. 이게 static이 아니면 호출전에 객체를 만들어줘야 하는데 아무래도 불편하죠. 인스턴스 멤버도 없는데
@@MasterNKS 아직 코린이라 그런 코딩을 못접해서 그런거군요 더 열심히 공부하겠습니다 답변감사드립니다!
객체를 만들때마다 메모리가 새로 만들어집니다. 메모리 생성을 하지 않고 곧바로 함수를 쓸수 있는게 static 메소드 입니다.
결론은 메모리를 아낄수 있다는 장점이 있습니다.
@@ocoocososococosooooosoococoso 아하 객체를 생성하면 객체가 가지고있는다른 변수나 메소드에 메모리 할당 하는데 static을 씀으로써 객체를 생성하지 않고 메소드를 쓸 수있으니 메모리를 아낄수 있다 이거내요 감사합니다!!
2회 시청완료
인스턴스 메서드와 static 메서드 - 인스턴스 변수를 사용할 수 있는가, 객체 생성 여부의 차이
인스턴스 멤버를 사용하지 않는 메서드에 static을 붙인다.
학원이나 구글링을 통해서도 static에 대한 개념이 제대로 잡히지 않아서 그냥 공유한다는 개념만 두루뭉실 알고 있었는데 좀더 확실히 배운거 같아서 감사합니다!
1화부터 정주행하고있는데 진짜 너무좋네요... 완전 명강의...
6-26 static 메서드와 인스턴스 메서드
(Static메서드 = 클래스 메서드)
>인스턴스 메서드
인스턴스 생성 후 사용가능
참조변수.메서드이름()으로 호출
인스턴스 멤버 사용 가능
>static매서드
객체생성없이 서용가능
클래스이름.매소드이름 으로 호출
인스턴스 메서드 사용불가
>> 인스턴스변수 사용여부가 차이
6-28 static언제붙일까
> 변수 : 공통속성일때붙이기
> 메서드 : iv 쓰지않을때붙이기
6-29 메서드간 호출과 참조
>static메서드는 iv사용 불가
>static메서드는 im사용불가
>>im은 iv로 작업함 >>객체가 필요함
2021.04.18 원래 댓글 잘 안남기는데 진짜 명강의입니다! 감사합니다!
2회 시청완료입니다.
17:13에 무엇을 보고 lv라는것을 알 수 있나요?
변수의 산언위치를 보고 알 수 있습니다
2021.04.21 전역 후 어플 개발자를 목표로 공부중입니다. 강의 최고입니다!!
주위에 많은 소개 부탁드립니다.
멋있으시다ㅜㅜ남한테 설명하는게 정말 어려운건데..동경해요
복습중입니다.
상세 설명 너무 감사합니다!!!!!
재능기부 감사히 받습니다. 항상 감사합니다.
3회 시청완료
자바강의 끝판왕!
강의 정말 너무 잘 듣고 있습니다., !
정말 이해가 안되는데 질문한번만 드려도 될까요?!!
예제 6_4번 설명하실때
class MyMath {
long add(long a, long b) {
long result = a + b;
return result;
이렇게 설명을 하셧는데 여기서는
a,b 가 iv로 앞서 선언되지 않았으니
long a , longb는 매개변수로써 지역변수로 봐도 되는건가요?
그렇다면 앞선 강의에서
class MyMath {
static long add(long a, long b) {
long result = a + b;
return result;
가 되어야 되는것 아닌가요?
그래서 static메서드로 본다음
main메서드에서 객체생성을 안하고 참조변수도 안만들고 바로 메서드 호출을 할수있다.
제가 생각하고 있는 부분이 틀린부분이 있나요?.
MyMath mm = new MyMath();
long result1 = mm.add(5L, 3L);
System.out.println("add(5L, 3L) = " + result1);
System.out.println(MyMath.add(5L,3L));
이런식으로요! 오류가 나네요 방법이 잘못된건지,,
인스턴스 메서드는 lv(매개변수)와iv를 모두 사용할수있고
스태틱 메서드는 lv만 사용할수있다. 라고
정리해도 될까요?
1회시청 2020-12-08
1회시청완료
3회 시청완료
- 인스턴스 변수를 사용하지 않으면 static을 붙일 수 있음
- static 메서드가 수행될 때 객체가 생성되었는지 알 수 없기 때문에 인스턴스 변수와 메서드를 사용할 수 없음
- static 메서드는 static 메서드를 호출 할 수 있음
- 인스턴스 메서드는 static 메서드를 호출할 수 있음
최고의 강의! 이해가 쏙쏙 됩니다.
혹시 6-8 예제에서 copy 메소드도 스태틱 메소드인데 main문안에서 클래스이름.메소드 즉 Ex6_8.copy() 가 아닌 그냥 copy로 호출될 수 있는지 알려주실수있나요 ?
같은 클래스 안에서는 생략가능합니다
결론: static 메서드는 인스턴스 변수, 인스턴스 메서드를 사용, 호출 할 수 없다.
static 메서드? static이 붙은 메서드. 객체(인스턴스) 생성 없이 클래스이름. static메서드이름 으로 접근 가능
이유? static 메서드 내에서 인스턴스 멤버를 전혀 사용하지 않기 때문. 이는 생성시기와 관련있음(static메서드를 사용할 당시에 인스턴스 멤버의 생성 여부를 알 수 없음)
그럼 static은 언제 붙여야 할까? 1. 공통적인 속성(멤버 변수) 2. 인스턴스 멤버(인스턴스 변수 & 인스턴스 메서드)를 사용하지 않는 메서드
인스턴스 메서드: 인스턴스 변수를 사용하는 메서드.
+) 객체: iv 묶음
메서드: 명령문 묶음
1. static메소드 ? 객체 생성없이 호출가능
2. 언제 static메소드 사용? iv(인스턴스 변수)를 사용하지 않을때
3. static메소드: 인스턴스멤버(iv, im) 사용 불가 --> im(인스턴스 메소드) 에서 iv사용하기때문에
필요한 변수는 지역변수(lv)를 사용해서 해결
비전공자에 컴퓨터 언어 자체를 아예 처음 접해보는데 설명을 너무 깔끔하게 잘해주세요! 이론에서 더 나아가 예시로 설명해주시니까 이렇게 적용되는구나, 이런 원리구나 이해도 잘되구 공부하는게 즐거워요!! 효자손으로 등 긁어주는 기분ㅋㅋㅋ 시원한 강의 감사합니다!! 열심히 달려볼게요!!
2회 시청완료입니다!
4회 시청완료!
인스턴스 메서드와 static 메서드의 차이
- 인스턴스 변수 사용여부
- 객체 생성 여부
-인스턴스 메서드를 사용하지 않는 메서드는 static을 붙일 수 있음
15:15
2023.10.24 완료 day9
- 인스턴스 메서드 :
* 인스턴스 생성 후 참조변수.메서드() 방식으로 호출
* 인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드
* 메서드 내에서 iv사용가능
- static(class) 메서드 :
* 객체 생성없이 클래스이름.메서드이름()
* 인스턴스 멤버(iv, im)와 관련없는 작업을 하는 메서드
* 메서드 내에서 iv 사용불가
- 메서드 간의 호출, 참조 : static메서드는 인스턴스 변수(iv)를 사용할 수 x
선생님 질문 있습니다!
1. 그럼 스태틱 메서드는 무조건 매개변수를 가져야하는건가요? 객체를 생성한 후 iv를 사용할 수 있게 되면 그 땜 매개변수가 필요없나요??
2. 메인 메서드도 스태택 메서드인데, 같은 클래스에 있을 땐 스태틱메서드도 인스턴스메서드를 객체생성없이 사용가능한가요???
아닙니다. 스태틱 메서드는 항상 iv쓸 수 없게 되어 있습니다. 매개변수는 메서드의 종류에 관계없이 있을 수도 없을 수도 있습니다. 이런건 직접 테스트 해보시는게 기억에 잘남습니다.
클래스 메서드 - 객체생성없이 호출가능. iv 사용불가. 인스턴스 메서드 - 객체생성해야함. iv 사용가능. iv 안쓰면 static 붙이기.
결론 = iv의 사용여부. 20/12/05
두 메소드 간의 차이점이 머릿속에 확실히 각인되었습니다 감사합니다! :)🌷
2021.05.30 1회
1회 시청 완료하였습니다.
열심히 복습할게요! :)
복습중! 좋은 강의 감사합니다
2회시청
감사합니다 0301
2회 시청 완료했습니다.
제가 현재 Java의 정석 3판으로 공부 중입니다!
Java의 정석3판 강의목록에는 기초편의 강의내용을 제외한 추가적인(?) 내용의 강의가 있던데,
기초편 강의도 듣고 Java의 정석 3판에 있는 나머지 강의도 들으면서 공부하면 되는가요?
기초편만 보셔도 됩니다. 11장은 3판이 더 자세하니까 보시고요.
3회 시청 완료하였습니다.
12/13 1회 시청
완료
진짜 쉽다 ㅠㅠ 좋은 강좌해주셔서 고맙습니다 bb
파이팅입니다 0312
16:27 부분에 노란부분은 add가 2갠데 초록부분에서 어떻게 static 메서드가 호출되나요
static이 붙은 add메서드가 호출되는 거고요. 매개변수의 갯수가 다릅니다. static이 안붙은 메서드는 객체를 생성해야 호출될 수 있습니다. 여러번 반복해서 보셔야합니다
5회 시청완료!
201212/1회 시청/감사합니다
2회시청 완료
질문이 있는데요 인스턴스는 iv 의 묶음인데
어떻게 인스턴스에서도 static method 가 호출이 가능한건가요?
편의상 가능하도록 해놓은거 뿐이에요.
201127 복습
선생님 안녕하세여.
iv를 안쓰면 무조건 static method로 사용해야 하나요?
질문을 다시드리면 iv를 안쓰는데도 static을 안붙여야하는 경우는 없을까요?
있습니다. 일단 메서드가 의미적으로 인스턴스 메서드인지를 생각하셔야 하고요. 지금은 이해하기 쉽지는 않으실 거에요.
@@MasterNKS
죄송한데 좀 알려주시면 안될까요..?
캡슐화 관점에서 꼭 iv를 사용하지 않더라도 instance method로 작성할 수 있는거 아닌가용?
와 근데 제가요즘 자바의정석 열심히보고 있는데 이렇게 저자분께 질문도 할 수 있고 답변도 들을수있다니.. 영광입니다
한두마디로 이해가 되는게 아니라서요. iv안써도 오버라이딩에 의해 자손에서 쓰일 수도 있습니다. 지금 iv안써도요.
그 이전강의에서 Math.random() 에 대해서 0보다 크고 1보다 작은 임의수를 만드는 매서드라고 대략 이해했는데요 이번 강의를 듣고나니 조금더 헤깔리더라구요..이번강의에서
Math.random() 매서드가 클래스 매서드라고 말씀하셨는데요 ..여기에 Math 라는 클래스가 없는데도 아무곳이나 위와같이 사용되어지는 이유가 무엇인지 궁금해서요 ..
String클래스도 마찬가지죠. 자바에서 제공하는 기본 클래스(java.lang패키지)라서 그렇습니다.
남궁성 이제좀 감이 오네요.좀더 공부해야겠네요
감사합니다 ~ *^^*
객체는 그럼 C언어에서 구조체와 같은 개념이라 이해해도 괜찮을까요?
비슷하죠
1회 시청완료!
최호연 1회 시청 완료. 한 가지 질문이 있습니다. 객체 = iv 묶음 이라고 하셨는데, 메소드는 객체 밖에 따로 구현되어 있는 건가요?
네. 하지만 아직은 그냥 객체=iv+메서드. 리고 생각하세요
@@MasterNKS 네 감사합니다!
감사합니다 ! 😊 👍👍👍👍👍 엄지척
혹시..LSJ unni?
이개념 너무헷갈렸는데 좋다
크.. 명강의입니다❤️
이승복 1회시청
static 메서드를 왜 쓰고 언제 써야할지 이제 좀 알 것 같아요 iv의 사용여부!
오늘도 좋은 강의 감사합니다!