Тёмный

[Q&A] JAVA | 생성자, 변수의 유효범위 

흥달쌤
Подписаться 27 тыс.
Просмотров 3,8 тыс.
50% 1

자바 생성자와 변수의 유효범위 답변입니다.
도움이 되셨으면 좋겠습니다. ^^
#흥달 #흥달쌤 #정처기 #정보처리 #정보처리기사 #정보처리기출 #JAVA #C언어 #전산직 #계리직 #프로그래밍 #기출문제풀이

Опубликовано:

 

31 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 50   
@zana9207
@zana9207 2 года назад
여지껏 본 생성자 오버로딩 오버라이딩 객체지향 강의들 중 최고입니다.
@HeungSsaem
@HeungSsaem 2 года назад
안녕하세요~~~ 도움이 되셨다니 다행입니다. 자바는 객체지향 개념때문에 많이 혼란스러운데, 조금만 익숙해지면 쉽게 푸실 수 있을꺼에요. 감사합니다. ^^
@발랄-e7i
@발랄-e7i Год назад
상속 관계에서는 무조건 부모의 디폴트 생성자를 먼저 출력 함 --> a 출력 내가 가지고 있는 --> c 출력 두번째는도 명시적으로 부모의 무언가를 호출하지 않았기 떄문에 부모의 기본 생성자를 출력한다 --> a 출력 내것도 출력 ---> d 즉 자식은 무조건 부모를 따라야함 부모가 가지고 있는 무언가를 무조건 호출해야함 super로 명시하지 않으면 묵시적으로 부모의 기본생성자 호출!!!! 변수는 가까운걸 선택해야함 b1.a는 내가 가까움 20 출력 b2는 부모가 가까움 10 출력 어렵네요 명쾌한 해설 감사합니다.!
@HeungSsaem
@HeungSsaem Год назад
자바는 참 어려워요..ㅜㅜ 그래도 꼭 이해해주셨음 해요~~^^
@민둥맨둥-l4u
@민둥맨둥-l4u 2 года назад
열일하는 흥달쌤 감사합니다🤓
@HeungSsaem
@HeungSsaem 2 года назад
들어주셔서 제가 다 감사합니다..^^ 낮에 업무 보느라고, 저녁에 후딱 찍고 왔습니다.
@puka4889
@puka4889 2 года назад
며칠전까지만 해도 생성자가 헷갈려서 책상쳤는데... 이건 영상 재생 전에 풀어봤는데 맞았네요 ㅠㅠ 이번 실기 프로그래밍은 이정도로만 나와줬으면 좋겠어요... 1회차는 정말 ^^... 후... 항상 감사합니다~
@HeungSsaem
@HeungSsaem 2 года назад
이런문제 정말 좋은 문제인데. 출제자분들이 공부해야 맞추는 문제들 구성해주셨음 좋겠어요. ^^
@user-kz4cg4mk1d
@user-kz4cg4mk1d 2 года назад
안녕하세요. 그럼 만약에 public B( int x) 밑줄에 super가 있었다면 public A(int x)로 가서 B를 출력하나요?
@HeungSsaem
@HeungSsaem 2 года назад
안녕하세요~~ super(int) 를 써주게 되면 부모의 인자 있는 생성자, super()를 써주게 되면 부모의 인자 없는 생성자를 호출하게 됩니다. 감사합니다. ^^
@이규혁-y5f
@이규혁-y5f Год назад
B b1 = new B();와 A b1 = new B(); 의값이 다른가요? 아버지가 날 낳았던 아니던 똑같이 부모부터 타고 자식꺼를 타는것같아서요
@HeungSsaem
@HeungSsaem Год назад
안녕하세요~~~ 생성자는 아버지가 날 낳던, 내가 날 낳던 무조건 부모부터 수행을 하게 됩니다. 아버지가 날 낳은 형태를 정리한 영상이 있는데요~~ ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-GS9Cr--ymVE.html 이걸 참고해주시면 좋을 듯 합니다. 감사합니다. ^^
@이규혁-y5f
@이규혁-y5f Год назад
@@HeungSsaem 네 그럼 결국 값도 같게 나오고 누가낳던지 상관없이 부모부터 수행한다고 생각하면될까요?
@난쟁이똥자루-q3v
@난쟁이똥자루-q3v 2 года назад
답 적는데 print(안에 있는 값 30만 적으면 되는거아닌가요..?) 생성자 부분도 답에 적어야하는건가요??
@HeungSsaem
@HeungSsaem 2 года назад
생성자에서 출력문이 나오기때문에 출력을해주셔야합니다. 클래스에 생성자가 있으면 인스턴스가 만들어질때 무조건 생성자를 확인해주셔야합니다. ^^
@난쟁이똥자루-q3v
@난쟁이똥자루-q3v 2 года назад
@@HeungSsaem 감사합니다 실기강의 마무리특강 보고 합격하고 싶네요 ㅜㅜ
@율리아-z4k
@율리아-z4k 2 года назад
지속적인 도움 감사합니다 ~~ 3일전 ~~ 약간많이 지침에 도움을 주시네용
@HeungSsaem
@HeungSsaem 2 года назад
마지막까지 포기 하지 마시고 조금만 힘내주세요. 할수있습니다. ^^ 화이팅!!!
@진지니-r6d
@진지니-r6d 2 года назад
흥달쌤 안녕하세요! 좋은강의 감사합니다. 만약 자식 클래스에서 명시적으로 부모클래스를 super를 쓴 케이스는 어떻게 풀면될까요?
@HeungSsaem
@HeungSsaem 2 года назад
안녕하세요~~~ 명시적으로 super 를 쓰게 되면 묵시적으로 인자없는 생성자는 타지 않습니다. super(); 이렇게 하면 부모의 인자 없는 생성자를 타고 자식의 생성자를 타는건 똑같습니다. super(x); 이렇게 하면 부모의 인자 있는 생성자를 타고 자식의 생성자를 타는건 똑같습니다. 도움이 되셨으면 좋겠습니다. ^^
@필사의신
@필사의신 2 года назад
감사합니다~~
@HeungSsaem
@HeungSsaem 2 года назад
수강해주셔서 감사합니다. ^^ 아주 좋은 문제에요..
@small_cow
@small_cow 2 года назад
선생님 궁금한점이있어 질문 남깁니다! A b2 = new B(1) 에서 A를 출력한후에서 D를 출력하는 부분에서 부모 객체가 가지고 있지 않은 메서드를 어떻게 사용한건지 궁금합니다 부모 A형태로 B(1) 인자값 메서드를 넘긴것인데, A형태에서 B(1)라는 메서드가 없어 오버라이딩 된 메서드도아니고, 자식한테만 있는 메서드인데 실행이 가능한건가요 ??
@HeungSsaem
@HeungSsaem 2 года назад
안녕하세요. 요건 메서드가 아니라 생성자라서요. 생성자는 부모부터 타게 되어있습니다. ^^ 감사합니다.
@이름짓기귀찮음-c3h
@이름짓기귀찮음-c3h 2 года назад
지금 포인터 이런게 문제가 아니고 시험전 유일하게 좀 헷갈려서 반복해서 보고있는게 생성자 하나였는데 이걸 딱 올려주시네요 정말 감사드립니다 이 도움으로 꼭 합격하고 싶네요 디폴트라는게 위에 먼저 적혀있거나 밑에 적혀있거나 순서상관없이 괄호안에 빈처리로 해놓은 A() 이런게 디폴트인건가요?
@HeungSsaem
@HeungSsaem 2 года назад
넵. 생성자나 메서드나 소스코드 순서는 의미가 없습니다. 인자가 없는게 디폴트 생성자입니다. ^^
@chafle-___-
@chafle-___- 2 года назад
드디어 EZ하게 풀립니다요!!!!!!!!!!!!!!!!!
@HeungSsaem
@HeungSsaem 2 года назад
아하. 도움이 되셨다니 다행입니다. 궁금한건 언제든 질문주세요.^^
@티큐안
@티큐안 2 года назад
안녕하세요 선생님 강의 잘 보고 있습니다 ^^ 질문이 있는데요 혹시 부모에 디볼트 생성자가 없는 경우는 어떻게 출력이 되나요? CD30 출력되는게 맞나요?
@HeungSsaem
@HeungSsaem 2 года назад
안녕하세요~~ 지금 이 프로그램에서 부모에 인자 있는 생성자만 있고 디폴트 생성자가 없으면 오류가 발생합니다. 만약 디폴트 생성자와 인자있는 생성자 모두 없다면 CD30이 출력되는게 맞습니다~~ 감사합니다. ^^
@추로스맨
@추로스맨 2 года назад
지금 생성자 때문에 어쩔 줄 몰라했는데 딱 이게 떠버리다니.. 운명일까요
@HeungSsaem
@HeungSsaem 2 года назад
딱 이해되셨으면 좋겠습니다. ^^ 감사합니다.
@민둥맨둥-l4u
@민둥맨둥-l4u 2 года назад
흥달쌤 혹시 public이 아니고 private면 부모로 가지 않는거죠??
@HeungSsaem
@HeungSsaem 2 года назад
private 한거는 아예 자식에서 사용을 할 수가 없습니다 만약 사용하려면 부모에서 get, set 뭐 이런 public 한 메서드를 만들어줘야해요~~^^
@minsuk2192
@minsuk2192 2 года назад
혹시 생상자는 매개변수가 의미가 없는건가요? 음 제가 설명을 잘 못하긴하는데 저는 답이 ACBD30인줄 알았습니다!
@HeungSsaem
@HeungSsaem 2 года назад
안녕하세요~~~ 자식에서 부모의 생성자를 명시적으로 호출하지 않으면, 그러니까 super(x) 이런식으로 호출하지 않으면, 부모의 인자없는 디폴트 생성자를 호출하게 됩니다. 그래서 뒤에 BD 가 아니라, AD가 됩니다. ^^ 자식에서 인자 있는 생성자를 호출했다고 부모까지 인자 있는 생성자를 호출한다고 보시면 안됩니다. 자식이 명시적으로 호출하지 않는다면 묵시적으로 인자없는 생성자를 호출한다. 꼭 기억해주세요~~ 감사합니다. ^^
@minsuk2192
@minsuk2192 2 года назад
네 감사합니다!!
@jsfighting
@jsfighting 2 года назад
저도 이건줄 알았는데 흥달쌤 답글 보고 이해했습니다. 감사합니다.
@zana9207
@zana9207 2 года назад
오 이거다!!
@sszxjj23
@sszxjj23 2 года назад
영상 올라왔네요ㅎ 아마 다른분들도 저랑비슷한 생각을하셨을꺼에요. 인자받았으니 저렇게나오는게 맞는데라고 생각했다가 틀려버렀네요.ㅠ 상속관계에서 super가있는지 꼭확인하고 없다면 묵시적으로 부모 호출된다는거 꼭기억하겠습니다.ㅠ 와 제대로낚였네요 . 근데 궁금한건 public A(int x)이놈도 인자값이있는데 왜 public A()여기로 호출될까요?
@HeungSsaem
@HeungSsaem 2 года назад
에헤이. 자식에서 명시적으로 호출하지 않으면 묵시적으로 부모의 인자없는 생성자를 탄다니께요. 부모의 인자있는 생성자 호출하려면 super(x); 이렇게해줘야해요. 없으면 디폴트생성자.^^
@sszxjj23
@sszxjj23 2 года назад
@@HeungSsaem 아맞네요ㅠ 슈퍼를 써야되지 아이구 ㅋ 이놈의 기억력은 왔다갔다리라 그래도 시험실 입장전에 알게되어다행입니다. 개념마무리짓고 데이터베이스 작성하는거 연습좀하다가자야겠네요 감사합니다
@yju1304
@yju1304 2 года назад
강의 감사합니다 꼭 합격 소식 전하겠습니다 ㅠ
@HeungSsaem
@HeungSsaem 2 года назад
구너님 조금만 힘내주세요. ^^ 마지막까지 화이팅입니다.
@2_junghwa
@2_junghwa 2 года назад
B(1)이라 int x로 갔는데 아니네요ㅎ. 생성자문제가 계속 헷갈리네요. 많이 풀어봐야되네요.. 이런문제 종종 풀어주세요~ 감사합니다.
@HeungSsaem
@HeungSsaem 2 года назад
집돌이님이 아주 좋은 질문을 주셨어요..^^ 이런 좋은 문제 나오면 꼭 맞춰주세요~~
@sszxjj23
@sszxjj23 2 года назад
역시 나랑 같은생각을 하신분이 짠하고나오셨네.ㅋ
@에베베-z3z
@에베베-z3z 2 года назад
선생님 마지막의 마지막까지 응원해주셔서 감사합니다! 상속&오버라이딩 문제가 유독 어렵게 느껴지는데요, 강의 중에 b2에는 a=0, B.a=20 이렇게 두가지 값을 가지고 있는데, ‘B클래스에서 오버라이딩한 메서드를 사용할때는 B.a의 값을 사용한다’고 하셨잖아요. 그럼 상속했을때는 부모클래스에 있는 함수만 사용가능하고 자식클래스에만 있는 함수는 사용불가니까 (..맞나요? 머리 속이 뒤죽박죽이예요ㅠㅠ) 오버라이딩된 함수를 제외한 다른 함수들은 부모로부터 상속받은 a=10을 이용해야한다 라고 이해하면 될까요..?
@HeungSsaem
@HeungSsaem 2 года назад
안녕하세요. 질문에 코드가 명확하지 않아서 ㅜㅜ. 오버라이딩하게 되면 오버라이딩된 메서드와 가까운 변수를 찾게됩니다. 질문에 대한 코드를 주시면 좀더 명확히 설명 드릴께요.^^
@에베베-z3z
@에베베-z3z 2 года назад
@@HeungSsaem 답변 감사합니다. 따로 코드를 보고 질문드린건 아니고, 강의에 나온 코드를 보다가 상상해서(?) 질문드렸어요 ㅠㅠㅋㅋㅋ 예를들면 저 코드에서 A클래스에 함수 2개가있고 B클래스에서 그 중 하나만 오버라이딩한 상황일 때, A b2 = new B(); 로 인스턴스를 생성했다고 가정하면 main함수에서 1) 오버라이딩한 함수 호출 -> B.a값 사용 2) 오버라이딩하지 않은 함수 호출 -> (부모) a 값 사용 이렇게 이해하면 되는가 싶어서요 ㅠㅠㅠ 난해한 질문 드려 죄송합니다 ㅠㅠ
Далее
[Q&A] JAVA | 생성자, 오버로딩
13:20
Просмотров 9 тыс.
[Q&A] JAVA | 아버지가 날 낳은 형태
20:59
Просмотров 28 тыс.
Layard Architecture and OSI
2:02:44
Просмотров 13
[Q&A] JAVA | 싱글톤패턴
10:57
Просмотров 10 тыс.
[Q&A] 영상답변 | 연산자 우선순위
9:14
Просмотров 4,1 тыс.
[Q&A] JAVA | STATIC 변수
10:17
Просмотров 5 тыс.
자바(JAVA) 특강 | 자바의 객체지향 특징
44:07