반응형 전체 글85 [JAVA] Chapter 9. String 프로그램을 개발할 때 문자열을 많이 사용하지만, 앞서 배운 연산은 문자열에 사용하지 못한다. 문자열은 연산을 위한 별도의 method들이 존재한다. 프로그래밍 언어 중 문자열을 받아주는 data type이 따로 존재하는 언어는 없기 때문에 언어마다 문자열을 어떻게 처리하는지 알아야 한다. ※ 어떤 프로그래밍 언어든지, 문자열은 "상수"이기 때문에 값을 변경할 수 없다. ① 문자열 String str = "JAVA"; String은 클래스이므로 str은 reference 변수, 따라서 주솟값을 저장해야 한다. 주솟값을 가져오려면 메모리에 올라가 있어야 하는데, 우변은 문자열 "JAVA"이다. 자바 진영에서 static 변수에 이어 문자열은 new 연산자 없이 스스로 메모리에 올라간다. 자바에서는 doubl.. 2023. 7. 11. [JAVA] Chapter 8. Class Variable & Class Method ① static 변수 static 변수는 클래스가 처음 load 될 때 생성되며, 모든 인스턴스들이 공유하여 사용하게 된다. Instance의 멤버 변수와는 달리 Instance를 생성하지 않아도 사용 가능하며 클래스 이름으로 직접 접근이 가능하다. Static 변수는 같은 이름으로 하나만 생성할 수 있다. class StaticTest { static int var = 0; public StaticTest() { System.out.println(var++); } } public class StaticVar1 { public static void main(String[] args) { StaticTest st1 = new StaticTest(); StaticTest st2 = new StaticTest.. 2023. 7. 10. [JAVA] Chapter 7. Class (3) JAVA의 객체지향을 이해하는데 가장 중요한 개념 중에 Overriding이라는 개념이 있다. Overriding은 상속에서 다룰 예정이고, 오늘은 Overriding과 가장 헷갈려하는 개념인 Overloading을 다뤄볼 것이다. 사실 둘은 전혀 다른 개념이기 때문에, 정의를 잘 기억하고 있는 것이 중요하다. ⓛ Method overloading 오버 로딩의 정의는 "하나의 클래스 안에서" 이름이 똑같은 메서드를 여러 개 선언하여 호출하는 것이다. 이름이 똑같기 때문에, 파라미터의 개수와 타입으로 구별한다. class Overloading { public static void over(int a) { ... } public static void over(double d) { ... } public st.. 2023. 7. 9. [JAVA] Chapter 7. Class (2) 지난 포스팅에서 Naming Rule을 다루었는데, Naming Rule을 모르면 JAVA를 사용하지 못하는 것은 아니지만 Rule을 지키는 것이 협업에서 굉장히 중요하듯이, JAVA를 JAVA답게 사용하기 위하여 알아야하는 Class 개념이 있다. ① Message Passing 하나의 요구사항 != 하나의 클래스인데 클래스 간의 관계를 어떻게 설정해야 할까? 객체 지향에서는 다른 클래스에 직접 접근해서 변수를 건드릴 수 없다. 클래스 안에서 선언되는 변수는 반드시 같은 클래스 내부에 있는 메서드로만 핸들링해야 한다. 따라서 내가 필요한 데이터를 넘겨주는 메서드를 찾은 후 리턴 값을 받아야 한다. 이처럼 객체 지향 프로그래밍에서 객체 간 상호 작용을 위해 메시지를 전달하는 것을 message passi.. 2023. 7. 8. 이전 1 ··· 14 15 16 17 18 19 20 ··· 22 다음