클래스는
클래스 안에 메소드도 있고, 속성도 있어서
이것을 객체로 만들어(인스턴스화하여) 프로그램(코드) 안에서 사용하는 걸로 알고 있습니다.
여기까지 맞나요?
궁금한 것이
9번 줄
String n;에서
String은 문자열을 저장할 수 있는 자료형인데
자바는 String도 객체 형태로 인식을 한다라고 토막강의에서 이야기 하셨습니다.
첫 번째 질문)
클래스 없이 바로 객체를 쓸 수도 있는건가요?
클래스를 new를 이용해서 객체를 만들었는데
클래스 없이 String이라는 객체를 바로 써서요.
두 번째 질문)
if(n.equals("quit"))
클래스는 메소드와 속성을 가지고 있고,
해당 클래스를 객체로 선언하면
그 객체는 해당 클래스의 메소드와 속성을 사용할 수 있는 것으로 알고 있습니다.
String은 객체이고,
n은 객체의 변수인데
객체도 메소드를 가질 수 있나요?
클래스 없이 객체가 메소드를 가지고 있다고 하여
뭔가 헷갈립니다.
어찌보면 첫 번째 질문과 같은 질문일 수 있겠네요.
안녕하세요 길벗수험서 운영팀입니다.
String은 조금 특별한 클래스입니다.
'자료형'의 역할도 하고, '클래스'의 역할도 하죠.
때문에 클래스를 객체로 변환하는
클래스명 객체명 = new 클래스명();
이런 형식보다 일반 자료형의 선언방식인
클래스명 객체명;
방식으로 단순하게 사용할 수 있습니다.
(두 방식 모두 사용이 가능합니다.)
-----------------
클래스, 객체, 메소드 개념을 확실히 파악하셔야 합니다.
클래스는 구조도 입니다.
해당 구조도에는 변수, 메소드 등 다양한 요소가 포함될 수 있죠.
A라는 클래스에 AA, AB, AC라는 메소드가 있고, A1,A2,A3이라는 변수가 있다고 가정합시다.
A classA = new A();
라고 classA라는 객체를 만들었을 때, classA는 AA, AB, AC 메소드를 사용할 수 있습니다. 구조를 그대로 가져왔으니까요.
classA.AA();
classA.AB();
classA.AC();
변수 또한 사용이 가능하죠.
classA.A1 = 3;
classA.A2 = 4;
classA.A3 = 5;
행복한 하루되세요 :)
-
관리자2019-07-22 13:32:33
안녕하세요 길벗수험서 운영팀입니다.
String은 조금 특별한 클래스입니다.
'자료형'의 역할도 하고, '클래스'의 역할도 하죠.
때문에 클래스를 객체로 변환하는
클래스명 객체명 = new 클래스명();
이런 형식보다 일반 자료형의 선언방식인
클래스명 객체명;
방식으로 단순하게 사용할 수 있습니다.
(두 방식 모두 사용이 가능합니다.)
-----------------
클래스, 객체, 메소드 개념을 확실히 파악하셔야 합니다.
클래스는 구조도 입니다.
해당 구조도에는 변수, 메소드 등 다양한 요소가 포함될 수 있죠.
A라는 클래스에 AA, AB, AC라는 메소드가 있고, A1,A2,A3이라는 변수가 있다고 가정합시다.
A classA = new A();
라고 classA라는 객체를 만들었을 때, classA는 AA, AB, AC 메소드를 사용할 수 있습니다. 구조를 그대로 가져왔으니까요.
classA.AA();
classA.AB();
classA.AC();
변수 또한 사용이 가능하죠.
classA.A1 = 3;
classA.A2 = 4;
classA.A3 = 5;
행복한 하루되세요 :)