주말 잘 보내셨는지요? 이번 시간에는 클래스 선언,접근제어자,생성자에 대해서 알아보도록 하겠습니다.
먼저 클래스 선언하는 방법에 대해서 알아보겠습니다. 저번시간에는 클래스,필드,메소드가 무엇인지 대해서 알아보았는데요. 이론은 알았으니 실제로 어떻게 쓰는지 알아봐야 겠죠? 아래의 예시 코드로 확인해보겠습니다.
먼저 이런식으로 TGD클래스를 만들어줍니다.
그 다음 Class라는 클래스를 따로 생성해 줍니다. 여기가 실제로 TGD클래스가 동작하는 곳입니다. Class에서 코드를 실행시키면 결과는 아래와 같습니다.
TGD클래스에 대해서 자세히 설명해보겠습니다.
먼저 TGD클래스 필드 내에 선언한 변수들입니다. 해당 변수들이 선언됨에 따라서 아래에 있는 메소드에서 해당 변수를 사용할 수가 있습니다.
해당 코드는 생성자라고 합니다. 생성자는 쉽게 생각해서 해당 클래스를 새로 사용하겠다라고 선언하는 메소드입니다. 클래스를 사용하기 위해서는 반드시 생성자를 통해서 클래스를 선언해줘야 합니다.
생성자를 통해 들어온 변수를 조합하여 게시판이 생성되었다는 메소드입니다. 이미 변수 값들은 생성자를 통해서 대입된 상태입니다.
해당 메소드를 호출하게 되면은 title변수의 값이 비어있는지 아닌지를 판단해서 결과값을 반환해줍니다.
해당 메소드를 호출하면 기존에 저장된 값들을 null(비운다)로 바꿔버립니다.
여기서 우리는 TGD클래스중에서 몇가지 의문을 가져야 합니다.
1.생성자 안에 있는 this.의 의미
2.메소드명 옆에 소괄호의 의미
3.public과 그 옆에 있는 String,void의 의미
이 3가지를 설명하고 오늘 글을 마치겠습니다.
1.먼저 생성자 내부에 있는 this.의 의미는 생성자를 통해 받는 파라미터와 구분짓기 위해서 this.를 사용한 것입니다.
만약 this가 없다면 대입하려고 하는 변수가 파라미터 변수인지,아니면 클래스 내 변수인지를 판단이 불가능합니다.
2..메소드명 옆에 소괄호의 의미는 해당 메소드를 호출할때 소괄호 내부의 있는 값들을 같이 받겠다는 뜻입니다. 실제로 생성자를 호출할때 내부에는 문자열 변수 2개가 있기 때문에 클래스에서 생성자를 선언할때 값(순게더,순당무)을 입력 받은 것을 알 수가 있습니다. 아래의 create,select,delete 메소드들에도 파라미터값을 넣어준다면 호출할때 지정된 값을 넣어줘야 합니다.
3.
접근제어자 : 해당 요소를 사용할 수 있게 하는 범위의 종류, 보통 public,private,protected가 자주 사용된다.
(https://gyrfalcon.tistory.com/entry/JAVA-%EC%A0%91%EA%B7%BC-%EC%A0%9C%ED%95%9C%EC%9E%90 참고)
반환타입 : 해당 메소드내에 코드를 실행 한 후에 반환할 값을 지정하는 곳, 반환할때는 return을 앞에 써서 반환한다.
파라미터 : 해당 메소드를 호출할때 같이 받아야 하는 값을 지정하는 곳
오늘 글은 제가 설명이 많이 부족했으니 이해가 안가시는 부분은 알려주시면 추가적으로 설명드리도록 하겠습니다. 감사합니다.
오늘의 과제입니다. (1人)
클래스를 이용해서 2가지 값을 받아서 덧셈,뺄셈,곱셈,나눗셈,나머지 구하기를 수행할 수 있는 프로그램을 작성하시오.
오늘 사용된 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | package com.java_lanuage; public class TGD { //클래스 내부는 다 필드입니다. String admin = "EJN"; //트게더를 운영하고 있는 주체 String title; //트게더명 String user; //트게더 관리자(스트리머) public TGD(String title, String user) { // 생성자 this.title = title; this.user = user; } public String create(){ //메소드 return user+"님의 게시판 ["+title+"]이(가) 생성되었습니다."; } public String select(){//메소드 String result = ""; if(title != null){ result = user+"님의 게시판 ["+title+"]이(가) 존재하고 있습니다.."; }else{ result = "게시판이 존재하지 않습니다."; } return result; } public void delete(){//메소드 title = null; user = null; } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package com.java_lanuage; public class Class { public static void main(String[] args) { TGD tgd = new TGD("순게더","순당무"); //게시판 생성 System.out.println(tgd.create()); //게시판 조회 System.out.println(tgd.select()); //게시판 삭제 tgd.delete(); //게시판 조회 System.out.println(tgd.select()); } } | cs |
댓글 5개 ▼