[Java] 💻String과 StringBuffer,StringBuilder String 클래스 기존의 다른 언어에서는 문자열을 char형의 배열로 다루었으나 자바에서는 문자열을 위한 클래스를 제공한다. 그것이 바로 String클래스인데, String클래스는 문자열을 저장하 고 이를 다루는데 필요한 메서드를 함께 제공한다. 문자열 불변법칙이 있다. String str = "abc"; 으로 선언 후 String str = "abc"+"def"; 으로 다시 선언한다면? "abc"참조를 끊고 "abc+def"를 새로 만들어서 주소가 바뀐다. 이 때 끊어져서 호출할 수 없는 "abc"객체는 = 쓰레기 객체 = garbage collection의 대상이 된다. (garbage collection: 사용되지않은 객체를 찾아 지우는역할) 객체를 생성시키고 소멸시키는 방법이 없어서 일정시간이 .. 2021. 11. 9. [ Java ] 💻 생성자와 메서드 참고링크 출처: https://javacan.tistory.com/entry/37 생성자(Constructor)도 메소드인가? 메소드로 이해하기 쉬운 생성자에 대하여 상세하게 살펴본다. 생성자의 기능과 형태 클래스는 초기화를 위하여 생성자(constructor)라는 특별한 코드 블록을 가질 수 있다. 즉, 생성자는 클래스가 n javacan.tistory.com 메서드(method) 메서드 구조 class A{ public void make() { System.out.println("make 메서드"); } } 반환하는 데이터가 있는 경우 (return) public class MethodMain01{ public int add(int a, int b){ return a + b; } } 반환하는 데이터가.. 2021. 11. 4. [ Java ] 💻 캡슐화 은닉화 (숨겨놓은 금고) private 사용하여 같은 클래스에서만 접근 가능 캡슐화 객체의 필드, 메서드를 하나로 묶고, 실제 구현 내용을 감추는 것 (=중요한 요소를 내부에 감추는 것) public한 메서드를 만드는 것 데이터를 받는 메소드 (돈을 받는 은행원) Java에서 꽤 많이 사용되며, 표준적으로 get메소드(데이터반환할때) set메소드(데이터넣어줄때,셋팅할때) is메소드(불린형 타입)만들어주므로 권장사항이다. 필드와 메서드를 캡슐화하여 보호하는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하는데 있다. package kr.s03.capsule; class Capsule{ //은닉화 //private은 같은 클래스에서만 접근 가능 private int a; //ex)숨겨놓은 금고 .. 2021. 11. 4. [Java] 💻접근제한자 접근제한자 = 접근지정자 접근제한을 주는 이유는? 데이터를 안전하게 보관하기 위해서 데이터를 메소드에서 제대로 활용하게 하기 위해서 모든언어가 접근제한이 있는게 아니다. (java언어는 중요하게 생각한다.) public 모든 접근을 허용 protected 같은 패키지에 있는 클래스 상속관계의 클래스 default 같은 패키지에 있는 클래스만 private 현재 클래스 내에서만 package가 달라져도 protected면 상속이 가능하다. default는 직접 명시하지않는다. 안써있는게 default. (쓰면 error) * 일반적으로 멤버변수에는 public을 지정하지 않는다. 클래스 : public, default 생성자 : public, protected, default, private 변수/메서드 .. 2021. 11. 4. 이전 1 다음