java

쉽지만 어려운 #Java #자바 #성공적1.객체란??

sieunju 2016. 4. 2. 01:53
반응형

안녕하세요 j.sieun73입니다. 


오늘 배우실 내용은 객체라는게 어떤 것인가를 배우게 될텐데요!!


예를 들어 



public class FirstClass {


public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("hello Java");

}

}


라고 입력을 했습니다. 


그러면 결과값이 


hello Java



이러한 결과값이 생기는데요. 


저 위에 있는 소스 해석은 FirstClass 라는 클래스안에 public static void main(String [] args) 라는 메인 메소드가 


존재 한다 라는 뜻입니다. 


여기서 추가적으로 



public class FirstClass {


public static void TestMethod(){

System.out.println("TestClass OKK");

}

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("hello Java");

TestMethod();

}

}


라는 소스를 입력을하면


hello Java

TestClass OKK


라는 결과 값이 나옵니다. 


어? 그럼 여기서 public 은 무엇이고 static 과 void 뭐지??라는 의문점을 갖게 되는데요


여기서 public 이란 


클래스, 변수, 메소드 생성자 등의 모든 접근을 허용한다 라는 의미가 됩니다. 


즉, TestMethod() 라는 메소드를 FirstClass 클래스 안에 모든 접근을 허용한다 라는 의미 입니다. 


이외에도 protected, default, private 라는 접근 변경자가 있는데요 public 이 가장 큰 범위 이고 protected , default, 


private 순입니다.  


그다음으로 static 이란 무엇인가??


static 은 한마디로 그 클래스 안에 있는 모든 메소드에서 사용할수 있는 것을 말합니다. 


예를들면


public class FirstClass {

static String str;



}


라고 입력하면 FirstClass클래스 안에 str이란 변수는 어디에든 사용할수 있고 값을 수정할수 있습니다. 


하지만 


public class FirstClass {

static String str;

public static void TestMethod (){

System.out.println("TestClass OKK");

String str = "하하";

System.out.println(str);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("hello Java");

TestMethod();

str = "호호";

System.out.println(str);

}

}


이런식으로 작성하면 된다?? 


정답은 됩니다. 하지만 TestMethod안에 String str 해서 또 선언해버리면 TestMesthod 


메소드는 그냥 String str 값을 받아들이기 때문에 아마 소스 코딩하는데 있어 혼동이 올수 있습


니다. 이점 유의하시길 바랍니다. 


그리고 이런것들을 고급진 말로 정적 변수라고 합니다.^^ㅎㅎ


마지막으로 void 라는것이 무슨 의미냐 


쉽게 말해 리턴값을 말합니다. 


예를들어 void말고 String으로 변경했다 그러면 TestMethod 맨마지막 부분에 


return ""; 라는 값을 입력하던가 return str; 라는 것을 적어야 합니다. 


추가적으로 void라는 것은 리턴값이 없어요~ 라는 뜻과 비슷합니다. 


그래서 void할떄는 return; 해도 상관없고 안적어도 상관 없습니다. 


이상 처음이라 그냥 생각나는데로 적어보고 궁금할거 같은거에 대해 설명해보았는데 이해가 됐는지 모르겠습니다. ㅜㅜ


(너무 두서없이 적어서)


다음 시간에는 객체 값을 다른 클래스로 가져오기라는것을 배우도록 하겠습니다. 


※궁금하신거 댓글달아주시길 바랍니다. ㅎㅎ


퍼가시는건 상관 없는데 말은 하고 퍼가주시길 바랍니다.^^※






반응형