반응형 분류 전체보기128 [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. [JAVA] Chapter 7. Class (1) ① Class의 개념 Step 1. Object modeling, 설계를 위한 생각 구현하고자 하는 객체를 속성과 기능으로 나누어 설계한다. ※ Object modeling은 속성과 기능을 정의해야 하기 때문에 domain knowledge가 없으면 설계할 수 없다. Step 2. 클래스 클래스란 객체를 생성하기 위한 설계도와 같은 개념이다. 클래스는 객체의 속성(변수)과 기능(메서드)을 정의하며, 객체의 데이터 타입을 정의한다. 클래스는 객체를 생성하기 위한 틀이라고 볼 수 있다. Step 3. 인스턴스 인스턴스란 객체를 생성한 후, 해당 객체를 가리키는 참조 변수를 의미한다. 인스턴스는 객체를 생성하기 위해 new 연산자로 생성된 것을 가리키는 변수로서, 인스턴스를 통해 해당 객체의 변수 메서드를 사.. 2023. 7. 7. 이전 1 ··· 25 26 27 28 29 30 31 32 다음