일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 생성자
- 이클립스
- paint
- 어노테이션
- 안드로이드
- 클래스
- 전화걸기
- struts2
- 메서드
- 기본
- Menu
- Graphic
- Android
- mybatis
- oracle
- JavaScript
- HTML
- Eclips
- 메소드
- 예외처리
- 오버로딩
- JSP
- OGNL
- layout
- Java
- AWT
- 배열
- 국제화
- Spring
- 에러페이지
- Today
- Total
목록자바/생성자 (18)
note
public class StaticEx3 { public static void main(String[] args){ StaticCount sc1 = new StaticCount(); System.out.println("sc1의 c: "+ sc1.c + ", sc1의 count: " + StaticCount.count); StaticCount sc2 = new StaticCount(); System.out.println("sc2의 c: "+ sc2.c + ", sc2의 count: " + StaticCount.count); StaticCount sc3 = new StaticCount(); System.out.println("sc3의 c: "+ sc3.c + ", sc3의 count: " + StaticCo..
public class StaticCount { int c; //인스턴스 변수 static int count; // 클래스(static)변수 /*객체 생성과 무관 호출에 의해 메모리에 올라가서 여러 객체에서 공유할 수 있음*/ public StaticCount(){ c++; count++; } } call 1 call 3 메인 call 2 class StaticTest001{//정적 메서드 정의하기 private static int a=10; private int b=20; public static void SetA(int new_a){ a = new_a; } public static int getA(){ return a; } } public class StaticTest02 { public static..
public class StaticEx1 { int a; //인스턴스 변수 static String s; //클래스(Static)변수 public static void main(String args){ s = "자바의 꿈"; //같은 클래스의 클래스 변수 호출시 클래스명 생략 ex)StaticEx1.s = 자바의꿈; System.out.println("s : " + StaticEx1.s); //인스턴스 변수는 객체 생성 후 호출 가능 //a = 1000; StaticEx1 st1 = new StaticEx1(); st1.a = 1000; } } StaticTest.a->10 s1.a->10 s2.a->10 s1.b->10 s2.b->20 s1.a->100 s2.a->100 s1.b->20 s2.b->20
class StaticTest{//정직 멤버변수와 인스턴스 멤버 변수의 차이점 static int a=10; //클래스(static)에 올라감 int b=20; //heap에 올라감 } public class StaticTest01 { public static void main(String[] args){ System.out.println("StaticTest.a->"+StaticTest.a); StaticTest s1 = new StaticTest(); StaticTest s2 = new StaticTest(); System.out.println("s1.a->"+StaticTest.a+"\t s2.a->" + StaticTest.a); System.out.println("s1.b->"+StaticTes..
public class MethodTest004 { void prn(int ... num){ //int형 데이터를 출력하는 메서드의 정의 for(int i=0; i
동물 객체 만들기 Animal 멤버 필드 : 이름 나이 비행여부 boolean type -은닉화 생성자 멤버 메소드(캡슐화) Animal Main 육상동물(포유류) 생성자 이용해서 데이터 셋팅 출력 이름 나이 (세) 비행여부 (불가능) 조류 포함 class Ani{ //멤버 필드 은닉화 private String name; private int age; private boolean fly; //캡슐화 public void setName(String n){ name = n; } public void setAge(int a){ age = a; } public void setFly(boolean f){ fly = f; } //get name으로 값 가져오기 public String getName(){ retu..
public class ThisTest2 { int a; int b; public ThisTest2(int a,int b){ //생성자 또는 메소드영역에서 //멤버변수와 지역변수의 명칭이 같을때는 //지역변수가 우선 //this.a 는 위에있는 a이고 a는 int a이다 //this는 멤버변수 호출이다 this.a=a; this.b=b; //멤버변수 지역변수 this.print(); } public void print(){ System.out.println(a + "," + b); } public static void main(String[] args){ ThisTest2 t = new ThisTest2(4,5); } } 4,5
public class ThisConEx {//생성자 내에 또다른 생성자를 호출 public ThisConEx(){ /*this()는 생성자 내부에서 또 다른 생성자를 호출할때, 생성자 내부에서 또다른 생성자를 호출할 때는 생성자 최상단에 위치시켜야 함 (다른 수행문 보다 우선적으로 호출되어야함) System.out.println("ThisConEx() 호출");*/ this("엄마"); } public ThisConEx(char[] ch){ this(String.valueOf(ch));//char[] -> String }// - >"my♥SunAe" public ThisConEx(long lo){ this(String.valueOf(lo)); //long -> String } //900000000L -..
public class ThisTest {//레퍼런스 this(생성자) public ThisTest(){ System.out.println("객체생성 : "+this); //참조 변수의 일종 this } public static void main(String[] args){ ThisTest tt = new ThisTest(); System.out.println("객체 생성후 : "+tt); //this는 객체 내부에서만 작동하기 때문에 따로 클래스를 만들어 객체화 } } 객체생성 : ThisTest@c05d3b 객체 생성후 : ThisTest@c05d3b
class MyDate3{//생성자 오버로딩 private int year; private int month; private int day; public MyDate3(){} //밑에 생성자를 만들었기 때문에 위에가 자동적으로 만들어지지 않음 public MyDate3(int new_year, int new_month, int new_day){ year=new_year; month=new_month; day=new_day; } public void print(){ System.out.println(year+ "/" +month+"/"+day); } } public class ConstructorTest05 { public static void main(String[] args){ MyDate3 d= ne..
public class MyClass1 {//MyClass1Test이랑 연결 //메인이 없기에 MyClass1Test랑 연결시킴 //은익화 private String name; //name = null //null = 객체에 주소가 없어 참조 못함 //생성자(오버로딩으로 볼 수 있음) public MyClass1(){} //생성자 public MyClass1(String n){ name = n; } //캡슐화 public void setName(String n){ name=n; } public String getName(){ return name; } } 없음 따로 저장하기 public class MyClass1Test {//MyClass1이랑 연결 public static void main(String..
class MyDate2{//생성자 정의하기 private int year; private int month; private int day; //없어도 됨 (자동으로됨) public MyDate2(){ System.out.println("[생성자] : 객체가 생성될 때 자동 호출됩니다."); year=2011; month=12; day=16; } public void print(){ System.out.println(year + "/" + month + "/" +day); } } public class ConstructorTest02 { public static void main(String[] args){ MyDate2 d = new MyDate2(); d.print(); } } [생성자] : 객체가 ..
class Bank{//은닉화 캡슐화 //은닉화 (금고) private int money; private int card; //캡슐화 어디서든 호출가능하게 하려고 public (은행원) public void setMoney(int m){//데이터를 set하는 함수 set money = m; } public void setCard(int c){ card = c; } public int getMoney(){//데이터를 리턴하는 함수get return money; //setMoney의money를 가져옴 } public int getCard(){ return card; } } public class VariableTest2 { public static void main(String[] args){ Bank b ..
class MyDate{//참조 호출 call by reference int year=2006; int month=4; int day=1; } class RefMethod{ void changeDate(MyDate t){ t.year=2007; t.month=7; t.day=19; } } public class MethodTest09 { public static void main(String[] args){ RefMethod rm = new RefMethod(); MyDate d=new MyDate(); //각 각 클래스 메모리에 올리기 System.out.println("함수 호출전 d-> "+d.year+"/" +d.month+ "/" +d.day); rm.changeDate(d); //주소를 MyD..
class Variable{//생성자 정의와 호출 private int c = 300; int d = 400; } public class VariableTest { //멤버 변수 //private 는 같은 클래스 영역에서는 출력가능 private int a = 100; private int b = 200; public static void main(String[] args){ VariableTest v = new VariableTest(); System.out.println(v.a); System.out.println(v.b); System.out.println("=================="); Variable v2 = new Variable(); /* System.out.println(v2.c)..
class ValueMethod{//값에 의한 호출 방식 //y 랑 x는 상관이 없다 void changeInt(int y){ y=10; //전달된 데이터 7 -> 10 System.out.println("y = "+y); } } public class MethodTest08 { public static void main(String[] args){ //changeint 메서드를 호출하기 위해서 ValueMethod 객체 생성 ValueMethod vm = new ValueMethod(); int x=7; System.out.println("함수 호출 전 x-> " +x); //vm으로 ValueMethod 클래스의 changeint 메서드를 호출한다 vm.changeInt(x); System.out.p..
public class ReferenceParameter {// 참조 호출 Call by reference // 멤버 메소드 // 메소드 호출방식 : 주소를 전달해서 메소드를 호출 // call by reference public void increase(int[] n) { for (int i = 0; i < n.length; i++) n[i]++; } // 메인 메소드 public static void main(String[] args) { // 배열 생성 int[] ref1 = { 100, 800, 1000 }; System.out.println("ref1[0] : " + ref1[0]); System.out.println("ref1[1] : " + ref1[1]); System.out.println..
public class ValueParameter {// 인자 전달방식 값호출(call by value // 멤버 메소드 // 메소드 호출 방식 : 값을 전달해서 메소드 호출(Call by Value) public int increase(int n) { ++n; return n; } // 메인 메소드 public static void main(String[] args) { int var1 = 100; // 객체 생성 ValueParameter vp = new ValueParameter(); int var2 = vp.increase(var1); //var1 으로 했기에 int n이 100이 되면서 //증감식으로 101이 됨(var2가) System.out.println("var1 : " + var1 + "..